さまざまな人がさまざまなデバイス(電話、カメラなど)を使用して、さまざまな角度から撮影した過去の休暇の写真の束の名前を変更したいと思います。私は私を助けるためにbashスクリプトを書いた。
#!/bin/bash
for f in *; do
# generate random id to prevent deletion of files with duplicate names
randomid=$(tr -dc "[:alnum:]" < /dev/urandom | head -c 10)
# add modification date and time including seconds to the filename, attach location and random id
mv -- "$f" "$(date +%Y-%m-%d-%R:%S -r "${f}")_location_${randomid}.jpg";
done
結果は、次の名前のファイルです。2016-08-09-15:56:24_location_uPe38A20tn.jpg
同じ日、2回目に撮った写真があってランダムにIDを追加しなければならず、その過程でファイル名が重複して削除されたりもしました。
ランダムIDを使用するという私の考えに加えて、同じ日付、同じ秒で撮った写真が削除されないようにする別の方法はありますか?
ご協力ありがとうございます!
ベストアンサー1
これにより、1、2、3などの繰り返し数が提供されます。
dest=$(date +%Y-%m-%d-%R:%S -r "${f}")_location_
id=
while [ -f "$dest""$id".jpg ] ; do
((id++))
done
dest="$dest""$id".jpg
mv -- "$f" "$dest"
for f in *
ループの内側に配置する必要があります。