我有一个文件,其中包含多行文本,每一行的格式都是这样的。
我想使用sed命令找到位于"aaa:"和"bbb"之间的值字符串,并在满足条件后将其替换为"gotit",该条件是其后的字符串为"ccc"。经过sed处理后,该文件变成:
2011-07-10 condition hhh aaa: value bbb
2011-07-10 condition ccc aaa: value bbb
我想使用sed命令找到位于"aaa:"和"bbb"之间的值字符串,并在满足条件后将其替换为"gotit",该条件是其后的字符串为"ccc"。经过sed处理后,该文件变成:
2011-07-10 condition hhh aaa: value bbb
2011-07-10 condition ccc aaa: gotit bbb
sed 's/\(condition ccc.*aaa: \).*\( bbb$\)/\1gotit\2/' file
,该命令会替换文件中所有匹配正则表达式\(condition ccc.*aaa: \).*\( bbb$\)
的文本,并把匹配结果中的\1
和\2
替换为字符串gotit
。 - Manny D