移動時に同じ名前でファイル名を変更する

移動時に同じ名前でファイル名を変更する

これは私の現在のコードです。

Base_DIR=/file/path
other= /folder/path
find "Base_DIR" -type f -name "*.txt"
while IFS= read -r file; do
year="$(date -d "$(stat -c %y "$file")" +%Y
month="$(date -d "$(stat -c %y "$file")" +%m
day="$(date -d "$(stat -c %y "$file")" +%d

[[ ! -d "$other/$year/$month/$day" ]] && mkdir -p "$other/$year/$month/$day";

mv "$file" "$other/$year/$month/$day`

したがって、既定では、別のサブディレクトリでファイルを検索し、ファイルが最後に変更された年、月、日に基づいてフォルダを作成しながら、ファイルを別のフォルダに移動します。

私の質問は、同じ名前のファイルを移動するときに自動的にファイル名をfile(1).txtに変更するようにこれを追加する方法です。これで、コードは両方の代わりにファイルの1つだけをコピーします。

ありがとうございます。

ベストアンサー1

そして

mv --backup=t file directory/

file、file.~1~、file.~2~ などの名前のファイルをインポートする必要があります。

おすすめ記事