有一个文件(ATI驱动,用于集成),如下:
[ati2mtag_RC410.GeneralConfigData]
MaximumDeviceMemoryConfiguration=128
MaximumNumberOfDevices=4
[SourceDisksNames.x86]
1 = %DiskId%,,,.\B_32009
[SourceDisksNames.ia64]
1=%DiskID%,,,.\B_32009
[SourceDisksFiles]
ati2cqag.dll=1
我想把
1 = %DiskId%,,,.\B_32009
改成
1 = %DiskId%,,,
(就是去掉.\B_32009)
由于B_32009文件夹名不固定,有时候是B_22260都可能,所以不能固定替换。
并且1=这儿有时有有时没有空格也无法固定。
所以我想用通配符替换
sed -e "s/^*%DiskId%,,,/*$/^1 = %DiskId%,,,$/"
失败,请问sed中怎么使用通配符?
此外,我尝试过删除再添加的方法,
删除很简单
sed -e "/%DiskId%/d"
不过添加就不大会了,不知道如何在制定字符所在之后添加。(由于inf大小不固定,行号不通用)
就是在[SourceDisksNames.x86]这一行之后添加?
sed -e "/[SourceDisksNames.x86]/ s/^$/xxxx/" 1.inf >1.txt
也不行,主要不知道空行^$看来不行。
艾,头大,大家sos一下拉
对了,哪位大大能给我个4.1.5设为sed?
[ati2mtag_RC410.GeneralConfigData]
MaximumDeviceMemoryConfiguration=128
MaximumNumberOfDevices=4
[SourceDisksNames.x86]
1 = %DiskId%,,,.\B_32009
[SourceDisksNames.ia64]
1=%DiskID%,,,.\B_32009
[SourceDisksFiles]
ati2cqag.dll=1
我想把
1 = %DiskId%,,,.\B_32009
改成
1 = %DiskId%,,,
(就是去掉.\B_32009)
由于B_32009文件夹名不固定,有时候是B_22260都可能,所以不能固定替换。
并且1=这儿有时有有时没有空格也无法固定。
所以我想用通配符替换
sed -e "s/^*%DiskId%,,,/*$/^1 = %DiskId%,,,$/"
失败,请问sed中怎么使用通配符?
此外,我尝试过删除再添加的方法,
删除很简单
sed -e "/%DiskId%/d"
不过添加就不大会了,不知道如何在制定字符所在之后添加。(由于inf大小不固定,行号不通用)
就是在[SourceDisksNames.x86]这一行之后添加?
sed -e "/[SourceDisksNames.x86]/ s/^$/xxxx/" 1.inf >1.txt
也不行,主要不知道空行^$看来不行。
艾,头大,大家sos一下拉
对了,哪位大大能给我个4.1.5设为sed?
