1. 학습
  2. /
  3. 강의
  4. /
  5. Shell 入門

Connected

연습 문제

スクリプトにファイル名を渡すには?

特定のファイルを処理するスクリプトは、自分が何をしたかの記録として便利ですが、任意のファイルを処理できるスクリプトのほうがさらに有用です。 これを実現するには、特別な表現 $@(ドル記号の直後にアットマーク)を使って、 「スクリプトに与えられたすべてのコマンドライン引数」を表せます。

たとえば、unique-lines.sh に sort $@ | uniq と書いておき、次を実行すると:

bash unique-lines.sh seasonal/summer.csv

シェルは $@ を seasonal/summer.csv に置き換え、1 つのファイルを処理します。次を実行すると:

bash unique-lines.sh seasonal/summer.csv seasonal/autumn.csv

2 つのデータファイルを処理し、このように続けていけます。

補足: Nano で書いた内容を保存するには、Ctrl + O で書き出し、Enter でファイル名を確定し、その後 Ctrl + X でエディタを終了します。

지침 1/2

undefined XP
  • 1

    Nano でスクリプト count-records.sh を開き、2 つの ____ プレースホルダーをそれぞれ $@ と -l(文字)で埋めて、1 つ以上のファイルについて先頭行を除いた行数を数えられるようにしてください。

  • 2

    seasonal/*.csv に対して count-records.sh を実行し、> を使って出力を num-records.out にリダイレクトしてください。