我有兩個目錄:
dir_1
其中有a.mp4
, b.mp4
, c.mp4
,d.mp4
並且dir_2
只有a.txt
, b.txt
。該腳本應該移動到 和 ,a.mp4
因為只有這些文件名與.當我需要執行這些類型的特定操作時,我發現很難遵循腳本。b.mp4
dir_3
dir_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
而不是指定。.*