*每個檔案夾都有另一個檔案夾,我需要將其所有內容向上移動一個檔案夾,然后將其洗掉:
Main_folder
-->DePreter.Jonas
-->Huistaak1-HelloWorld_Jonas.DePreter.s.ua_poging_2019-11-12
--> (Files and folders name doesn't matter)
-->(another_name)
-->Huistaa1-HelloWorld_(name)...
--> more files
...
所以我需要訪問每個名稱檔案夾(例如“DePreter.Jonas”)并將所有檔案從 Huistaak1-HelloWorld... 移動到它所在的名稱檔案夾,然后洗掉 Huistaak1... 檔案夾
我已經寫了這個,但這太長了,我想回圈使用它。
cd DePreter.Jonas
mv */* */.* .
find . -type d -name "Huistaak1*" -delete
cd ..
cd Feremans.Len
mv */* */.* .
find . -type d -name "Huistaak1*" -delete
cd ..
cd Hofkens.Peter
mv */* */.* .
find . -type d -name "Huistaak1*" -delete
cd ..
cd Janssens.Jan
mv */* */.* .
find . -type d -name "Huistaak1*" -delete
cd ..
cd Peters.Jolien
mv */* */.* .
find . -type d -name "Huistaak1*" -delete
cd ..
cd VanHoof.Sarah
mv */* */.* .
find . -type d -name "Huistaak1*" -delete
cd ..
uj5u.com熱心網友回復:
這可能是你所追求的:
cd /path/to/Main_folder || exit
for dir in */*/
do
cd "$dir" || exit
mv ./* ..
cd - >/dev/null || exit
rmdir "$dir"
done
cd或者,在回圈體內沒有 ing 的更簡潔:
cd /path/to/Main_folder || exit
for dir in */*/
do
mv "$dir"* "${dir%%/*}"
rmdir "$dir"
done
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/524795.html
上一篇:回圈比較檔案名中的數字
