移動另一個目錄中與檔案名稱相符的文件

移動另一個目錄中與檔案名稱相符的文件

我有兩個目錄: dir_1其中有a.mp4, b.mp4, c.mp4d.mp4並且dir_2只有a.txt, b.txt。該腳本應該移動到 和 ,a.mp4因為只有這些文件名與.當我需要執行這些類型的特定操作時,我發現很難遵循腳本。b.mp4dir_3dir_2

答案1

嘗試,

for f in "dir_2"/*; do
    filename=${f##*/}
    mv -t "dir_3" "dir_1/${filename%.*}".*
done
  • 循環文件輸入dir_2*.txt僅用於循環這些文件)
  • ${f##*/}為您提供不帶路徑的檔案名稱。
  • ${filename%.*}為您提供不含副檔名的檔案名稱。
  • mv -t "dir_3" "dir_1/${filename%.*}".*filename將所有具有給定(從擴展名中清除)的檔案移至dir_3.如果您願意,您可以指定.mp4而不是指定。.*

相關內容