比較的大きな文字列をgrepファイルに渡すことはできますか、それともファイルのみを受け入れることができますか?
出力をgrepにパイプ処理するのではなく、次のようなことを行うことに注意してください。
grep 'hello' 'hello world'
(もちろんそれは機能しません、少なくともそうではありません)
比較的大きな文字列をgrepファイルに渡すことはできますか、それともファイルのみを受け入れることができますか?
出力をgrepにパイプ処理するのではなく、次のようなことを行うことに注意してください。
grep 'hello' 'hello world'
(もちろんそれは機能しません、少なくともそうではありません)
回答:
それが可能だ。これを試して:
grep 'hello' <<< 'hello world'
代わりに文字列を含む変数を渡すこともできます:
str='hello world'
grep 'hello' <<< $str
              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ように、複数行のテキストを含む文字列を作成できます。必要に応じて、インタラクティブにシェルに入力することもできます。
これでニーズが満たされない場合は、パイプが受け入れ可能なソリューションではない理由を説明できますか?
パイプで grep
なぜだけではありません:
echo 'hello world' | grep 'hello'
参照:https : //stackoverflow.com/questions/2106526/how-can-i-grep-complex-strings-in-variables
grepでしょうか?そのprintf "various\ntext to grep here" | grep "text"ため、「grep to text here」というテキストが生成される可能性があります