我需要使用sed来使用sed进行以下要求
我有一个字符串作为$ str,我需要替换文件中的吹线
abh{1..$abh} cdf_$ghu,xyz * abh{}.$xy
新修改的行应如下所示
abh{1..$abh} cdf_$ghu,$str * abh{}.$xy
注意"xyz"
可以是任意值。你能告诉我如何在一个衬里使用sed。
sed 's/\(^\s*abh{1..$abh}\s*\)\(.*xyz\)/\1/' file.txt
但仍然无效。任何帮助,将不胜感激。
答案 0 :(得分:1)
试试这个:
$ sed 's|\(\S\+\s\+[^,]\+,\)\S\+\(\s\+.*\)|\1$str\2|' file.txt
abh{1..$abh} cdf_$ghu,$str * abh{}.$xy
甚至更简单:
$ sed 's|,\S\+|,$str|' example.txt
答案 1 :(得分:0)
echo 'abh{1..$abh} cdf_$ghu,xyz * abh{}.$xy' | sed 's/\(.*\$ghu,\)\(.*\)\( .*\)/\1\$str\3/g'