根据搜索词从另一个文件创建一个文件

根据搜索词从另一个文件创建一个文件

如何创建一个文件,其中包含终端中另一个文件中特定搜索词之后的所有内容?

例子:

原始文件内容: 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

相关内容