如何使用 sed 替换第一行末尾的单词?
test00 ; test01 ; 'test02 -test03="j32h"'
test04
结果应如下所示;
test00 ; test01 ; 'test02 -test03="b254"'
test04
答案1
鉴于
$ cat file
test00 ; test01 ; 'test02 -test03="j32h"'
test04
然后
$ sed 's/"[^"]*"/"b254"/' file
test00 ; test01 ; 'test02 -test03="b254"'
test04
答案2
和awk我们可以使用双引号作为字段分隔符,并替换第二个字段的值:
awk '
BEGIN {FS = OFS = "\""}
NR == 1 {$2 = "b254"}
{print}
' <<END
test00 ; test01 ; 'test02 -test03="j32h"'
test04
END
test00 ; test01 ; 'test02 -test03="b254"'
test04