为 grep 命令提供参数

为 grep 命令提供参数

我想从文件中查找一些单词。我在 Linux 上使用 grep 命令。

grep "word1" 原始文件

但是有很多单词需要查找,它们都在“words.file”中。如果可能的话,我想给 grep 命令提供参数。我将把“words.file”中的单词作为参数提供给 grep 命令,然后在“original.file”中找到这些单词

我可以这么做吗?

答案1

man grep 可以帮助您:grep 有 -f 参数,它指定从文件中读取模式。

grep -f words.file original.file

但请注意,words.file 中的单词必须每行一个,但 tr ' ' '\n' 可以帮助您实现这一点。

答案2

尝试

grep -e word1 -e word2 -e word3 original.file

如果你想-e wordwords.file尝试构建 -things

eval $(echo -n 'grep '; while read word; do echo -n "-e '$word' "; done < words.file; echo 'original.file')

也许更容易和更好(但每个单词一个 grep 过程):

xargs -I '{}' grep -e '{}' original.file < words.file

相关内容