これは私の現在のコードです。
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~ などの名前のファイルをインポートする必要があります。