Rename
使用重命名複製文件
我有一個巨大的文件樹。有些文件名稱相同但大小寫不同,例如,
some_code.c
和Some_Code.c
.因此,當我嘗試將其複製到 NTFS/FAT 文件系統時,它會詢問我是否希望它替換文件或跳過它。
有沒有辦法自動重命名這些文件,例如,通過添加
(1)
衝突文件的名稱(如 Windows 7 那樣)?
cp
許多 GNU 工具,例如mv
和tar
支持在目標存在時創建備份文件。也就是在復製foo
到的時候bar
,如果已經有一個叫 的文件bar
,則現有的bar
會被重命名,並且複制後bar
會包含 的內容foo
。預設情況下,bar
重命名為bar~
,但可以修改行為:# If a file foo exists in the target, then… cp -r --backup source target # rename foo → foo~ cp -r --backup=t source target # rename foo → foo.~1~ (or foo.~2~, etc)
還有其他變體,例如僅在已存在編號的備份時才創建編號備份。有關更多詳細資訊,請參閱coreutils 手冊。