【发布时间】:2019-11-14 20:54:48
【问题描述】:
我想匹配包含一个单词的文件中的所有行,并取下面的所有行,直到连续出现两个两个换行符。
我有以下 sed 代码来剪切和粘贴特定行,但没有后续行:
sed 's|.*|/\\<&\\>/{w results\nd}|' teststring | sed -file.bak -f - testfile
如何修改它以获取所有后续行?
例如,假设我想匹配 'dog' 的行,下面应该取 5 的前 3 行:
The best kind of an animal is a dog, for sure
-man's best friend
-related to wolves
Racoons are not cute
有没有办法做到这一点?
【问题讨论】:
-
@WiktorStribiżew 正则表达式可以匹配,但是如何使用 awk 移动到新文件并从原始文件中删除?
-
@WiktorStribiżew 在这种情况下,我使用 take 表示“剪切”,剪切并粘贴到新文件中。所以这 3 行不会出现在 testfile 中,但会出现在 newfile 中
-
那么,还没有解决?请编辑问题以包含更多详细信息。