我一直在尋找如何在unix文件名中使用{}功能。例如,我有一個名爲ID#的子目錄。每個子目錄都有一個錄製的音頻文件,被命名爲特定的測試問題ID#。下面的命令:unix命令中的大括號的用法是什麼?
for file in */1-01*; do echo "$file"; done
將列出當前目錄下的每個子目錄中的音頻文件的名稱。這樣做給了我一個清單:
809043250/1-01-20131.wav
813777079/1-01-20131.wav
817786199/1-01-20131.wav
827832538/1-01-20131.wav
834820477/1-01-20131.wav
我想每個上述.wav文件的重命名爲不同的編號,所以它最終應該是這樣的:
809043250/5001.wav
813777079/5001.wav
817786199/5001.wav
827832538/5001.wav
834820477/5001.wav
所以,我該怎麼辦如果我想使用mv
命令來保留此人的ID#(809043250,813777079等)和第一個/
但使用${file/firstOccurance/replaceWith}
表示法,但剝去1-01-20131.wav
並粘上5001.wav
?
我不知道如何在谷歌搜索這個。它被稱爲正則表達式(我不這麼認爲......)? Brace符號?文件名模式?有誰知道這些的一個很好的解釋?
謝謝!
謝謝你!如果谷歌是一張地圖,不知道搜索關鍵是非常令人沮喪!幸運的是,人類可以將不正確的鍵轉換成正確的鍵並返回值! – ejsuncy