ファイルにファイルのリストがあります。リストは膨大で、ファイル名は非標準です。つまり、スペース、ASCII 以外の文字、引用符、単一引用符が含まれているものがあります...
そのため、膨大なファイルのリストを引数として grep に渡すことはできません。
- Linuxで許可されている引数の長さを超えないかどうか確信が持てないためです。ただし、引数を で分割することでこれを解決できると思い
xargs
ます。 - これらの文字をエスケープするのは複雑だからです。ファイル名を二重引用符で囲みたいのに、そのファイル名にたまたま二重引用符が含まれていたら、困ったことになります。そのため、いくつかの文字をエスケープする必要があります。全体が非常に複雑に見えますが、私はその道を歩きたくありません。
もっと簡単な方法があるに違いありません: grep の元のファイルとしてファイルのリストを使用するように grep に指示するにはどうすればよいですか? ファイルのリストはシェルによって処理されないため、エスケープと引数の長さはもはや問題ではないと思います。問題は、ドキュメントで見つけることができなかったこの操作モードを grep がサポートしているかどうかです。