任意のファイル名に一括返還をするスクリプト


あるフォルダ内のファイル名を一括で連番のファイル名に変換したい時のスクリプト。

#!/bin/bash

opt_test=false
while getopts t opt; do
  case $opt in
    t) opt_test=true
      ;;
  esac
done

shift $((OPTIND -1))
prefix=$1
shift

i=1
for oldname in $*; do
  ext="${oldname##*.}"
  newname="image-"`printf "%04d" $i`.$ext
  if $opt_test; then
    echo $oldname "->" $newname
  else
    mv  $oldname $prefix$newname
  fi
  i=`expr $i + 1`
done

スポンサード・リンク

上記のスクリプトをseqrenameというファイル名で保存し、下記のように実行すると~/photo以下の拡張子.jpgファイルのファイル名が連番で振られます。
※元ファイル名を変更するので注意してください。

sudo ls ~/photo/*.jpg | sort -k 1 -n | xargs ~/seqrename ./photo/

日本で一番簡単にビットコインが買える取引所 coincheck bitcoin