2013-11-21 195 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*