打印匹配和不匹配的行; awk:打印匹配组

问题描述:

1)如何使用sed将追加标记添加到匹配模式的行中,同时也打印与模式不匹配的行?打印匹配和不匹配的行; awk:打印匹配组

如果我这样做'sed -n s/pattern/pattern mark/p',所有不匹配的行将不会被打印。

[解决]

+0

刚刚发现“gensub”可以解决我的第二个问题。所以我仍然有第一个问题需要解决。谢谢 – lukmac 2012-08-17 13:57:37

+0

我也投票结束它。 – lukmac 2012-08-17 14:13:25

如果不抑制使用-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/' 

到图案标记追加到匹配

哪些行