grep -Ffにリテラル値(すべての値)を追加する方法

grep -Ffにリテラル値(すべての値)を追加する方法

findこのコードを使用してコマンドの結果をフィルタリングします。

grep -Ff /path/to/file

grepここでこのコマンドにランダムな値を追加したいと思います。

つまり、こんにちはgrepと言って固定パターンを使用し、そのファイルからパターンをロードします。このファイルにはない静的モードです。

どうすればいいですか?

PSの背景:私が尋ねた他のファイルの行に基づいて検索結果をフィルタリングできますか?では、ファイル内の項目に基づいて、Dependenciesまたは項目があるかどうかに基づいて検索結果をInfraフィルタリングしたいと思いますBase。しかし、ファイルにInfraおよびを追加することはできません。このファイルはモジュール専用です。BaseDependencies

答え1

使用されるパターンは、指定されたすべてのファイルと指定されたすべての個々のパターンからgrep読み取られたパターンのセットです。-f-e

patternコマンドに単一のパターンを追加するには、次のようにします。

grep -F -f /path/to/file -e 'pattern'

-fオプションを-e繰り返すことができます。

答え2

サブシェルを使用して、入力パターン(セット)をgrepに渡すことができます。たとえば、スキーマファイルに次の行が含まれているとします。

$ cat pattern.txt
foo
bar

baz(固定パターン)も検索したい場合は、以下を試してください。

$ grep -f <(echo baz; cat pattern.txt) infile.txt

関連情報