バッシュ画像処理

バッシュ画像処理

みんな、

いいね!画像ファイルを中央の画像フォルダに移動します。これは私のスクリプトです。

img_dir='/home/filies/images/'
img_fil='/home/files/img_dump.txt'
i='0'
while read -r fline
do
   fpath=$(dirname "$fline")"/"
   fname=$(basename "$fline")".$i"         
   nfile="$img_dir$fname"
   if [ ! -e "$nfile" ]; then
#      mv "$fline $img_dir$nfile"
      echo "NF=> $nfile"
   else
      ((i++))
#      mv "$fline $img_dir$nfile.$i"
      echo "F=> $fname P=> $fpath"
   fi 
done < ${img_fil}
exit

正しい結果が得られるか、少なくとも満足のいく結果が得られるまで、ファイルの移動は現在コメントアウトされています。

重複があります。現在のスクリプトは、同じファイル名の重複に対してのみカウンタを増やすのではなく、重複が発生するたびにカウンタを増やします。

これを行うより良い方法はありますか?それとも、新しいイメージディレクトリから最新の増分番号を取得するサブルーチンを作成できますか?

乾杯

光学MR

ベストアンサー1

スクリプトでループを使用できます。

nfile="$img_dir$fname"
while [ -e "$nfile" ]
do
  ((i++))
  fname=$(basename "$fline")".$i" 
  nfile="$img_dir$fname"
done

これで未使用のファイル名ができました。

おすすめ記事