使用sed打印下一行

6
我希望您能使用sed打印匹配单词的下一行。
我尝试了以下命令,但是它报错:
sed -n '/<!\[CDATA\[\]\]>/ { N p}/' test.xml

1
你需要在“N”和“p”之间加上分号:{N;p} - Dennis Williamson
2个回答

19

那么使用 grep -e -A 1 命令怎样呢?它将打印出紧随匹配的那一行。

使用 sed 查找 "dd" 模式,下面的命令将能正常工作:

sed -n '/dd/ {n;p}' file

对于文件内容:

dd
aa
ss
aa

它会打印:

aa

3

使用 awk

awk '/pattern/{getline;print}' file

在Linux上,/bin/gawk/bin/sed大约大6倍。在其他操作系统上,即使awk不是来自GNU,这个比例也是相似的... - Mikhail T.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接