複数のファイルを一度に指定するにはどうすればよいですか?
ほとんどのシェルコマンドは、複数のファイル名を指定すると複数のファイルに対して動作します。 例えば、次のようにすると、季節ごとのデータファイルすべてから最初の列を一度に取得できます。
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を使って最初の3行をseasonal/spring.csvとseasonal/summer.csvの両方から取得する単一のコマンドを書きます。合計6行のデータですが、秋や冬のデータファイルからは得られません。
ファイル名を完全に綴るのではなく、ワイルドカードを使いましょう。
