bashのバッチスクリプト

ワイルドカードによるファイル指定でそのコマンドに一括で引数で指定できず、数多くのファイルに対して同じ処理を繰り返したい時。もしくはそのファイルの数が数万とか多く、引数指定するには数が多くなりすぎて無理な時。シェルスクリプトでバッチ処理が有効。ファイル一つづつに対して、シーケンシャル(sequential)にバッチ処理したい時にbashのシェルスクリプトで対処する場合には、

1
2
3
4
#!/bin/sh
for f in *.bz2 ; do
     bunzip2 $f  #command to execute here.
done

てな具合にfor f in * ; do ... done定型句を使う。

ただ、この場合、 [shell] bunzip2 *.bz2 [/shell] でも可だが。そうはできないような処理の場合に役立つ場合も。


Written by bonohu in misc on 金 23 12月 2016.