複数のファイルに拡張子を追加することについて多くの質問があることを知っています。しかし、それらのどれも私の仕事をすることはできません。
拡張子のない巨大な画像のリストがあります。ほとんどはpngですが、jpgファイルもあり、tiffもあります。
名前を正しく変更するにはどうすればよいですか?
ベストアンサー1
たぶん、次のようなものがあります。
for f in /some/dir/*; do
type="$( file -bi -- "$f" )"
case "${type%%;*}" in
image/jpeg) ext=jpg ;;
image/png) ext=png ;;
image/tiff) ext=tiff ;;
*) printf '%s: %s: unknown file type\n' "${0##*/}" "$f" >&2; ext='' ;;
esac
if [ -n "$ext" ]; then mv -n -- "$f" "${f}.${ext}"; fi
done