繁体   English   中英

在Linux中使用sed或awk删除单词及其下一行

[英]remove a word and its following line in linux using sed or awk

我想知道如何删除以* dd开头的单词并保留其当前行,但删除以下行。

我使用此命令删除了sed "s/^\\*.dd//" test.cbl > test.cbl.new它显示得很好,但我无法删除下一行。

使用以下sed解决方案:

sed '/^\*.dd/{s/^\*.dd//;n;d};' test.cbl > test.cbl.new

将搜索您的模式,然后搜索并替换模式( s/// ),然后删除下一行( n;d )。

perl -pe 'if (s/^\* dd//) { readline }' test.cbl

应该这样做。 或更压缩:

perl -pe '<> if s/^\* dd/' test.cbl

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM