複数のファイルを一度に指定するには?
ほとんどのシェルコマンドは、複数のファイル名を渡せば複数ファイルに対して動作します。 たとえば、次のようにして四季のデータファイルすべてから最初の列を一度に取得できます:
cut -d , -f 1 seasonal/winter.csv seasonal/spring.csv seasonal/summer.csv seasonal/autumn.csv
しかし、多くのファイル名を何度も手で入力するのは得策ではありません。
時間がかかりますし、いずれファイルを入れ忘れたり、同じ名前を重複してしまったりします。
そこで便利なのが、シェルのワイルドカードです。1つの表現でファイルの一覧を指定できます。
最も一般的なワイルドカードは * で、
「0 文字以上にマッチする」という意味です。
これを使うと、上の cut コマンドは次のように短くできます:
cut -d , -f 1 seasonal/*
または次のようにも書けます:
cut -d , -f 1 seasonal/*.csv
この演習はコースの一部です
Shell 入門
演習の手順
head を使って、seasonal/spring.csv と seasonal/summer.csv の両方から最初の3行、合計6行のデータを取得するコマンドを1行で書いてください。ただし、autumn と winter のファイルは含めないでください。
ファイル名をすべて書き出すのではなく、ワイルドカードを使用してください。
