コマンドを組み合わせるより良い方法は?
リダイレクトでコマンドを組み合わせる方法には、次の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 に渡して、反転マッチで「Tooth」という語を含むヘッダー行を除外してください。※cut と grep の詳細は、第2章の演習8と11で扱いました。
