ファイル_/etc/services
_にあるすべてのTCPサービスのソートされたリストを作成し、コマンド_grep tcp /etc/services
_の出力をコマンドsort
にパイプして、リダイレクトします。このパイプのファイル_~/pipelab.txt
_への出力。
出力が間違っているというエラーメッセージが表示され続けますが、その理由はわかりません。
これは私が最後に試したことです:
_grep tcp /etc/services > ~/pipelab.txt | sort
_
> ~/pipelab.txt
は明らかにパイプライン演算子の同じ側のコマンドに属します|
。つまりgrep
出力をsort
にパイプする代わりに、ファイルにリダイレクトします。
grep tcp /etc/services | sort > ~/pipelab.txt
grep
の出力をファイルにリダイレクトしようとしているandパイプを使用してsort
にパイプしている。あなたはそれをすることはできません、少なくともそれは好きではありません。
その代わり、あなたは本当にそれをソートするためにフィードしたいだけです:
grep tcp /etc/services | sort
sorted出力(つまり、何がソートされていないか)をファイルにリダイレクトしたいので、リダイレクトをソートの後に置きます。
grep tcp /etc/services | sort > ~/pipelab.txt
パイプとリダイレクトはどちらも、コマンドの出力先を変更することで機能します。そのうちの2つがgrep
からの出力をめぐって争っていました(最終的にはリダイレクトが勝ち、ソートされていない出力をファイルに書き込みました)。