所以基本上,我有一個文件夾,其中有一堆子文件夾,其中有超過100個文件。我想把所有的mp3文件(真正的通用擴展名,因爲我必須用JPG等來完成),並將它們移動到原始目錄中的新文件夾中。所以基本上的文件結構如下所示:在子目錄中移動多個文件(和/或通過multichar分隔符分割字符串)[bash]
/.../dir/recup1/file1.mp3
/.../dir/recup2/file2.mp3
...等
,我希望它看起來像這樣:
/.../dir/music/file1.mp3
/.../dir/music/file2.mp3
...等
我想我會使用沿着這些路線看上去bash腳本:
#!/bin/bash
STR=`find ./ -type f -name \*.mp3`
FILES=(echo $STR | tr ".mp3 " "\n")
for x in $FILES
do
echo "> [$x]"
done
我只是現在回聲,但最終我會想用mv
將其送到正確的文件夾。顯然,這不起作用,因爲tr會將每個角色看作分隔符,所以如果你們有更好的主意,我會很感激。
(僅供參考,我正在上網本的Ubuntu,所以如果有一個GUI的方式類似於Windows的搜索,我也不會反對使用它)
最後的'\;'是什麼?編輯:沒關係,下面的人回答它。 – 2012-01-02 22:27:11
更新瞭解釋的答案。希望有所幫助! – 2012-01-02 22:45:44
你可以用'+'代替'\;',它會快得多。大多數現代的'find'實現都支持它。 – 2012-01-02 22:53:43