ls
コマンドを入力すると、次のような出力が表示されます。
-$ ls
aNode ANode bNode BNode cNode CNode DUMP file1 hello.txt TEST.txt
-$
示されているように、上記の出力は別々の行one
に表示されます。filenames
spaces
次に、一致するものを見つけるために使用しますgrep
。
一致するものが見つかると、行全体が印刷されると予想されます。
ただし、代わりにgrepは一致を含む行全体ではなく一致のみを印刷します。下記をご覧ください。
-$ ls | grep 'aNode'
aNode
-$
なぜこれが起こるのですか?grep
行全体が印刷されないのはなぜですか?
ベストアンサー1
ls
パイプの代わりに端末に書き込むと、出力形式が異なり、内容が異なるように表示されます。パイプに書き込むと、1行に1つのエントリしか書き込まれないため、grep
各リストを個別に処理できます。
したがって、これはgrep
単に実行して画面に印刷したときとは異なる出力を取得します。ls
ls
grep
これにより、同じ効果を見ることができます
ls | cat
これにより、すべての項目が1行に1つずつ表示されます。