给定文件 test 及其内容:
bcd://dfl
sf
我想将额外信息附加到具有特定内容的行(从 bcd 开始) 以下脚本有效
awk '/bcd*/ {print $0", extra information"} ' test > test.old && mv test.old test
删除不匹配的行。 ( SF )
是否可以将它们保存在输出文件中?
答案 0 :(得分:3)
正如在评论中讨论结束时,最后添加{..}1
将解决您的问题,
awk '/^bcd/ {print $0", extra information"; next} 1' file
因为/<pattern>/{<action>}
应用于与<pattern>
匹配的 行,其他行只是按原样打印,{..}1
是始终 - 真 - 无 - 什么打印行的条件。
答案 1 :(得分:2)
awk '/^bcd/ {$0 = $0 ", extra information"} 1' test