2010/12/30(木)え,これで動いたの?
え,これで動いたの?(シェルスクリプトの話)
Imagemagicのconvertコマンドを使って,JPGファイルをEPSに一括変換するスクリプトを書いてみたというどうでも良い話題です.
その際に,引数をとって任意のディレクトリ下のファイルを変換するようなものを書こうとして悪戦苦闘.
以下のようにしたら普通に動きました.
#/bin/bash #Debian Lenny版.当然Windowsでは動かない. #convert input.jpg eps2:output.eps cd $1 for jpg in *.jpg do convert "$jpg" eps2:"$jpg-jpg2eps.eps" done for epsbefore in *.jpg-jpg2eps.eps do epsafter=`echo "$epsbefore" | sed -e "s/\.jpg-jpg2eps//g"` mv "$epsbefore" "$epsafter" done実行は,vimのコマンドモード上でだと,
:!./jpeg2eps.sh target-directory/端末なら
ushi@BigOwl:~/shellscripts/jpg2eps$./jpeg2eps.sh target-directory/って感じです.シェルスクリプトの頭にあるcd+引数でちゃんと対象ディレクトリに移ったままなんですね.へぇ……*1.
今日も凍ってるんですかね…….
予報によれば氷点下にはなるそうなので,気をつけて帰路につくことにします.コーヒー買って帰りましょ.