ディレクトリ内のすべての画像に対してループを実行したい。画像には拡張子がないため、画像の最初のバイトを読み取ってそのタイプを知る必要があります。ループは最終的には次のようになるはずです。
for file in *
do
if [ file --mime-type -b ]
then
***
fi
done
case
ステートメントとコマンド置換の使用:
for file in *; do
case $(file --mime-type -b "$file") in
image/*g) ... ;;
text/plain) ... ;;
application/xml) ... ;;
application/Zip) ... ;;
*) ... ;;
esac
done
小切手 :
http://mywiki.wooledge.org/BashFAQ/002
http://mywiki.wooledge.org/CommandSubstitution
http://mywiki.wooledge.org/BashGuide/TestsAndConditionals#Choices
http://wiki.bash-hackers.org/syntax/ccmd/case
case
を使用せず、_ bash を使用したif
ステートメントを使用する場合:
if [[ $(file --mime-type -b "$file") == image/*g ]]; then
...
else
...
fi