式
我有以下内容的文件
ERR001 just some random text
ERR002 blah blah blah
ERR001 again some text //IGNORE
ERR001 blah blahblah blah blah
ERR002 abc def ghi
我编写一个sed命令,将// IGNORE附加到所有具有ERR001但尚未附加// IGNORE的行。因此sed命令应为上述文件提供以下输出
ERR001 just some random text //IGNORE
ERR002 blah blah blah
ERR001 again some text //IGNORE
ERR001 blah blahblah blah blah //IGNORE
ERR002 abc def ghi
答案 0 :(得分:0)
sed
解决方案:
sed '/\/\/IGNORE$/! s/^ERR001 .*/& \/\/IGNORE/' inputfile
/\/\/IGNORE$/!
-否定匹配,确保行不以//IGNORE
结尾(!
-否定符号)s/^ERR001 .*/& \/\/IGNORE/
-替换以ERR001
开头的行输出:
ERR001 just some random text //IGNORE
ERR002 blah blah blah
ERR001 again some text //IGNORE
ERR001 blah blahblah blah blah //IGNORE
ERR002 abc def ghi