11
A
回答
23
要遞歸移動文件,請合併find
與mv
。
find src/dir/ -name '*.txt' -exec mv {} target/dir/ \;
要移動文件時重新命名文件,這會更棘手。一種方法是讓一個循環通過每個文件名通過tr/_
,它將斜線轉換爲下劃線。
find src/dir/ -name '*.txt' | while read file; do
mv "$file" "target/dir/$(tr/_ <<< "$file")"
done
1
如果它只是一個級別:
mv *.txt */*.txt target/directory/somewhere/.
11
試試這個:
find source -name '*.txt' | xargs -I files mv files target
這將工作速度比-exec任何選項,因爲它不會調用燎MV過程爲每個需要移動的文件。
+0
偉大的解決方案,並認真快速... – Blacklight
+1
很多,比接受的答案快得多。請注意,爲了健壯性,使用以零結尾的文件名字符串是一個好主意:'find source -name'* .txt'-print0 | xargs -0 -I文件mv文件目標「 – cooperised
相關問題
- 1. Bash/Shell-將子目錄中的所有文件移動到目標目錄中?
- 2. 遞歸從子目錄將文件移動到文件夾中的父目錄
- 3. 遞歸地擴展到當前目錄中的所有文件?
- 4. 將具有給定名稱的文件夾中的所有文件遞歸移動到其父目錄
- 5. Bash腳本從子目錄中移動最新的特定文件類型
- 6. 重命名目錄中的特定類型的所有文件
- 7. CMake遞歸地將目錄的所有子目錄內的所有源文件添加到可執行文件?
- 8. 在目錄中遞歸地區分某些類型的文件
- 9. bash重命名目錄中的特定文件類型
- 10. 如何在目錄中遞歸存檔特定文件而不將文件本身歸檔到bash中?
- 11. 如何遞歸地查找包含特定類型文件的*目錄*?
- 12. 將具有特定擴展名的文件移動到目錄
- 13. 將子目錄中的特定文件移動到一個目錄 - python
- 14. bash oneliner將* .ext文件移動到新創建的目錄中
- 15. 將標題/庫/可執行文件移動到特定目錄
- 16. 刪除目錄和所有子目錄中的特定文件
- 17. 將目錄中的不存在文件的所有請求重定向到根目錄中的特定文件
- 18. 遞歸查找目錄中的所有文本文件
- 19. 遞歸掃描bash中的目錄
- 20. 如何移動具有特定前綴的目錄中的所有文件?
- 21. S3:將所有文件從子目錄移動到公共目錄中
- 22. 將所有文本文件遞歸地連接到最接近的父目錄的名稱中包含特定字符串的目錄中
- 23. BASH:遞歸讀取目錄中的所有文件,includinging符號鏈接
- 24. 將名稱中包含大寫字母的所有文件從src目錄移動到目標目錄?
- 25. 將指定文件夾中的所有文件上移到一個目錄中
- 26. 獲取遞歸目錄中的特定文件
- 27. 遞歸創建特定目錄中的文件夾
- 28. 在Bash中,根據名稱將文件移動到目錄
- 29. Python遞歸查找文件並移動到一個目標目錄
- 30. 將文件夾中的所有文件移動到新的子目錄
這個版本可以與包含嵌入換行符的文件一起工作,或者以空格開頭:'find src/dir -name'* .txt'-exec bash -c'mv「$ 1」「$ {1 // \/_}「'_ {}';'' –