大量の画像データを一気に処理に使えるシェルスクリプト
「シェルスクリプト」で処理出来るようになると、UNIX/Linuxを人手で作業する何百倍も作業効率があがります。
大量の画像の一部分を切り抜くシェルスクリプト
youtube動画のスクリーンショットを100枚ほど撮った画像を一気に処理します。
今回のyoutube動画は常時コマーシャル表示がされており、切り抜きに必要部分が全て同じ位置(x,yポジション及び幅・高さ)だったのでImageMagicの convertコマンドを使用しました。
実際は、ImageMagick には convert の他に一括処理するためのコマンド mogrifyを使うとシェルスクリプトも必要なくコマンド一発で同じ処理が出来ます。
シェルスクリプトでファイルを扱う方法を学ぶために、この度は convert を使いました。
#!/bin/sh
for f in *.jpg
do
convert $f -crop 1468x828+280+140 basename $f .jpg
.png
done
for in の使い方いろいろ (bash)
for i in 0 1 3 5 8 9; do
echo $i
done
for i in {0..9}; do
echo $i
done
for i in seq 0 9
; do
echo $i
done
for i in $(seq 0 9); do
echo $i
done
値を配列変数で指定するとき
array=(0 1 2 3 4 5 6 7 8 9)
for i in ${array[@]}; do
echo $i
done
値にコマンドライン引数を利用するとき
for i in "$@"; do
echo $i
done
複数ファイルを操作する時、シェルスクリプトで扱う方法を知っていると、同じ作業を繰り返さずコマンド一発で処理ができるので覚えておきましょう。
1行目の#!/bin/shという表記のことをシバンといいます。
あなたの使っているシェルが bash であっても、 #!/bin/bash としないで、約束通り #!/bin/sh とした方が無難です。
作業中・・・です。