2013-11-21 136 views
0

如何使用shell腳本刪除特定模式的文件。例如,我需要刪除所有以前綴INPUT開頭的文件。我在我的shell腳本中嘗試了命令rm INPUT*,但它將*解釋爲文字,所以我找到了文件未找到的錯誤。通過模式匹配刪除文件

+0

它只會做,如果你有它逃脫或報價等 – John3136

+0

聽起來好像沒有匹配的文件,所以圖案'INPUT *'按原樣傳遞給'rm'。 – chepner

+0

可能的調試步驟:'ls INPUT *'是否提供任何輸出? – jkshah

回答

0

試試這個:eval "rm INPUT*" ....

0

命令rm INPUT*是你想要的幾乎什麼,但如果不存在的文件與該模式匹配它產生一個錯誤。 shell嘗試擴展INPUT*以匹配文件名;如果沒有匹配,則會將文字字符串INPUT*傳遞給rm,這會正確報告不存在此類文件。爲防止該錯誤訊息,最簡單的方法是添加-f

rm -f INPUT*