删除目录中的现有文件

时间:2019-03-29 20:27:32

标签: bash

我正在尝试检查目录中是否存在文件,如果存在,那么我想先删除该文件,然后再在该目录中移动新文件。

if [[${abc_directory}/filename*.dmp]] ; then
rm -rf ${abc_directory}/filename*.dmp

我认为我在if语句中缺少一些逻辑。

2 个答案:

答案 0 :(得分:2)

只需:

rm -f "${abc_directory}"/filename*.dmp

选项-f--force)告诉rm忽略不存在的文件。

我未包括-r,因为按照您的描述,您将删除单个文件而不是目录树。

为了避免空格问题,我已经跳过了${abc_directory}部分。它假定abc_directory不包含任何通配符/占位符。

答案 1 :(得分:0)

您没有在示例中查找特定文件,而是使用通配符。为什么不先rm -rf ${abc_directory}/filename*.dmp,然后再移入新文件并完成操作呢?

这里是检查单个文件是否存在的方法。

if [ -e ${abc_directory}/filename.dmp ];then 
   rm -f ${abc_directory}/filename.dmp
fi