我正在 BASH 中創建一個腳本,它將根據名稱的開頭將我的檔案分類到不同的檔案夾中。例如,檔案名為 A1_a.txt、A1_aa.txt、A1_aaa.txt、A2_aa.txt、A2_aa.txt、A2_aaa.txt。并根據它們是 A1 還是 A2 想要將它們移動到 A1 的 new1 和 A2 的 new2 。我必須為此任務使用 for 回圈
我創建了這樣一個腳本,但它得到一個錯誤。
for i in $(ls | grep "A1"|"A2"); do if [ ${i} = "A1" ] then mv ${i} new1 else mv ${i} new2 fi; done
錯誤:-bash:意外標記“完成”附近的語法錯誤
我不明白他為什么會出現這樣的錯誤,如果在 for 回圈中創建得很糟糕?
添加分號后;

在grep中添加分號并洗掉“”后,也切換所有$ {i} - >“$ i”沒有錯誤彈出,但也沒有任何反應

uj5u.com熱心網友回復:
如果目標是只撰寫mv一次命令,那么明智的解決方案是:
for i in 1 2
do
mv "A$i"* "new$i/"
done
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/496511.html
上一篇:匯出的路徑未在Python中更新
下一篇:需要從子域中洗掉域域
