如何尋找並複製帶有空格的檔案?

如何尋找並複製帶有空格的檔案?

我試圖mp3在任何子目錄中尋找檔案並複製它們,例如在當前目錄中。這是我嘗試過的命令:

find . -name *.mp3  -ls | gawk '{printf("cp %s .\n", $11);}'

find命令列出了所有正確轉義的文件,但gawk似乎有問題。該find命令列出例如以下文件

8132326 7392 -rw-r--r--   1 alexander alexander  7566180 Nov 27 20:22 ./For\ The\ Kids\ EP\ [12_\ Vinyl\ EP\ -\ DP003]/01\ A1\ For\ the\ Kids.mp3

gawk命令視為$11字串

./For

代替

./For\ The\ Kids\ EP\ [12_\ Vinyl\ EP\ -\ DP003]/01\ A1\ For\ the\ Kids.mp3

這是為什麼?以及如何正確處理這個問題(有或沒有gawk)?

答案1

正確的命令是

 find /folder/to/be/searched -type f -name '*.mp3' -exec cp "{}" /target/folder \;

它更簡單,因此出錯的機會更少。唯一的事情:記住使用絕對路徑,而不是相對路徑。

相關內容