如何创建一个文件,其中包含终端中另一个文件中特定搜索词之后的所有内容?
例子:
原始文件内容: foo、bar、baz、qux
搜索词:巴兹
新文件内容:巴兹、曲克斯
答案1
使用 GNU grep 以及与您问题中相同的示例,可以执行以下操作:
$ echo 'foo, bar, baz, qux' | grep -o '\bbaz\b.*'
baz, qux
选项-o
要求 grep 仅打印行中匹配的部分,并\b
确保baz
在单词边界处匹配。
答案2
最后我用了pcregrep为了这。我发现在多行文件中返回搜索词之后的所有内容的最佳用法如下,替换 searchTerm、originalFile 和 newFile:
pcregrep -M 'searchTerm((.|\n)*)' originalFile > newfile