LoginSignup
3
1

More than 3 years have passed since last update.

画像ファイルの拡張子を付け直す

Posted at

これなに

大量の絵文字ファイルをDLしてカテゴリーの整理をしようと思ったら・・・
なんと、拡張子がついてなかった😱😱😱

fileコマンドでファイルのMIME typeを判別できるので、
それを利用してとりあえず拡張子を付けようと思って作ってみた

コード

ext.sh
#!/bin/bash

DIRECTORY=$(dirname $1)
FILENAME=$(basename $1)

pushd $DIRECTORY > /dev/null
if [ -f $FILENAME ]; then
  INPUT="$FILENAME"
  OUTPUT=$(basename ${INPUT} | awk -F. '{ print $1 }').$(file --mime-type -b ${INPUT} | awk -F/ '{ print $2 }')
  if [ $INPUT != $OUTPUT ]; then
    echo RENAME $DIRECTORY/$INPUT TO $DIRECTORY/$OUTPUT
    mv $INPUT $OUTPUT
  else
    echo $DIRECTORY/$FILENAME
  fi
elif [ -d $FILENAME ]; then
  echo ENTER DIRECTORY $FILENAME
  for f in $FILENAME/*; do
    $0 $f
  done
  echo LEAVE DIRECTORY $FILENAME
fi
popd > /dev/null

結果

(前略)
blob/meowgiggle.png
blob/meowhuggies.png
blob/meowovo.png
blob/meowpats.png
blob/pikablob.png
blob/thinking_blob.png
blob/thinkingwithblobs.png
blob/yayblob.png
LEAVE DIRECTORY blob
ENTER DIRECTORY Blobs
RENAME Blobs/blobboo TO Blobs/blobboo.png
RENAME Blobs/sblob TO Blobs/sblob.png
RENAME Blobs/sblob_0w0 TO Blobs/sblob_0w0.png
RENAME Blobs/sblob_3c TO Blobs/sblob_3c.png
RENAME Blobs/sblob_amused TO Blobs/sblob_amused.png
RENAME Blobs/sblob_angel TO Blobs/sblob_angel.png
RENAME Blobs/sblob_angry TO Blobs/sblob_angry.png
RENAME Blobs/sblob_artist TO Blobs/sblob_artist.png
(後略)

ちゃんと動いた
めでたしめでたし

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1