私は偶然会ったこれ投稿で私の問題を説明しました。 「foo World」というファイルがあるとしますfile.txt
。
Taylorが投稿した回答は多くのことを説明していますが、どうすればいいのか混乱しています。
cat file.txt | grep "foo"
似ている
grep "foo" file.txt
grep
次が必要だと思います
grep input argument // input is the string to search for (i.e) foo and
// argument is the file path (./file.txt)
cat file.txt
今ファイルの内容の出力はfoo World
?grep
私は正しいですか?それでは、grep
ファイルパスが文字列として必要であると仮定しますか?
答え1
ほとんどのコマンドは、入力用に開く必要があるファイル、またはSTDINを介してコマンドに渡されるデータストリームである入力を処理できます。
内容がcat file.txt
別のコマンドでパイプ()されると、|
左側のSTDOUTパイプに渡された出力が設定され、コマンドの右側のSTDINパイプに供給されます。
コンテンツがSTDOUT - > STDINを介してパイプされていない場合、コマンドはコマンドライン引数を介して名前で渡されたファイルを開いてデータを受信できます。
はい
出力をSTDOUTに送信します。
$ cat file
1
2
3
4
5
fromの出力はcat file
STDOUTを介してSTDINにパイプされます。grep
$ cat file | grep 5
5
ファイルをコマンドライン引数として扱います。
$ grep 5 file
5
STDINを介してファイルの内容を直接処理します。
$ grep 5 < <(cat file)
5
file
ここでは、上記のSTDINを介して何を渡すことができるかを示します。grep