(大きな)文字列をファイル名の代わりに「grep」に渡します


26

比較的大きな文字列をgrepファイルに渡すことはできますか、それともファイルのみを受け入れることができますか?

出力をgrepにパイプ処理するのではなく、次のようなことを行うことに注意してください。

grep 'hello' 'hello world'

(もちろんそれは機能しません、少なくともそうではありません)


何らかのテキストデータをパイプするのgrepでしょうか?そのprintf "various\ntext to grep here" | grep "text"ため、「grep to text here」というテキストが生成される可能性があります
アレックス

回答:



13

grepコマンドライン引数を検索対象のテキストとして解釈するオプションはありません。grep文字列への通常の方法は、文字列をgrepの標準入力にパイプすることです:

$ echo 'There once was a man from Nantucket
Who kept all his cash in a bucket.
    But his daughter, named Nan,
    Ran away with a man
And as for the bucket, Nantucket.' | grep -i nan
There once was a man from Nantucket
    But his daughter, named Nan,
And as for the bucket, Nantucket.
$

このechoように、複数行のテキストを含む文字列を作成できます。必要に応じて、インタラクティブにシェルに入力することもできます。

これでニーズが満たされない場合は、パイプが受け入れ可能なソリューションではない理由を説明できますか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.