我正在製作find
具有特定擴展名的所有文件,然後將它們複製到特定資料夾,但大多數文件都被覆蓋,因為它們具有相同的名稱。如何使用 Linux 命令獲取檔案的路徑並將其替換為名稱檔案?
現在我正在使用這個命令:
find . -name "*.css" | xargs cp -t /folder/AllCssFiles/
所以如果我在某個路徑上有兩個文件,如下所示:
/something/abc/file.css
/anyting/xyz/file.css
當我使用該命令時,我應該在 AllCssFiles 資料夾中得到類似的內容:
/something/abc/file.css (name of the file)
/anyting/xyz/file.css
答案1
您可以使用-execdir
指令rename
1。
find ./ -type f -name "*.css" -execdir rename -v "s/search/replace/" {} \;
如果您不確定,您可以rename
使用-n
-n, -nono
No action: print names of files to be renamed, but don't rename.
1這是 在基於 Debian 的系統(在某些系統和其他系統中)上呼叫的語法。perl-rename
rename
prename
perl-rename