打印匹配和不匹配的行; awk:打印匹配组
问题描述:
1)如何使用sed将追加标记添加到匹配模式的行中,同时也打印与模式不匹配的行?打印匹配和不匹配的行; awk:打印匹配组
如果我这样做'sed -n s/pattern/pattern mark/p
',所有不匹配的行将不会被打印。
[解决]
答
如果不抑制使用-n
默认输出,sed中会打印出所有行:
sed 's/pattern/pattern mark/'
答
不正是回答了这个问题,但如果你想在下面的行添加一些文本的一种方法是使用的GNU
版本的sed
附加命令:
sed -e '/pattern/ a mark' infile
+0
这将“标记”本身放在一个新的线上。 – 2012-08-17 14:02:05
+0
@WilliamPursell:好的。现在实现了。错过了这个问题。感谢您指出错误。 – Birei 2012-08-17 14:04:11
答
对于SED的问题,只是这样做:
sed '/pattern/s/$/pattern marker/'
到图案标记追加到匹配
哪些行
刚刚发现“gensub”可以解决我的第二个问题。所以我仍然有第一个问题需要解决。谢谢 – lukmac 2012-08-17 13:57:37
我也投票结束它。 – lukmac 2012-08-17 14:13:25