コマンドを組み合わせるもっと良い方法はありますか?
リダイレクトを使ってコマンドを組み合わせる方法には、2つの欠点があります。
top.csvのような中間ファイルが大量に残ってしまいます。- 最終結果を作成するためのコマンドが、履歴の複数行に分散してしまいます。
シェルには、この両方の問題を一度に解決するツールがあります。それが パイプ です。
まずはもう一度、head を実行してみましょう。
head -n 5 seasonal/summer.csv
今度は head の出力をファイルに送る代わりに、縦棒とファイル名を指定しない tail コマンドを追加します。
head -n 5 seasonal/summer.csv | tail -n 3
パイプ記号は、左側のコマンドの出力を右側のコマンドの入力として使うよう、シェルに指示します。
この演習はコースの一部です
Shell 入門
演習の手順
cutを使って、カンマ区切りファイルseasonal/summer.csvの2列目からすべての歯名を選択し、結果をgrepにパイプし、逆一致で「歯」という単語を含むヘッダー行を除外します。cutとgrepはそれぞれ第2章の演習8と11で詳細に扱われています。
