shell脚本删除文件,如果它已经存在
我正在处理一些将数据存储在文件中的东西。 但每次运行脚本时,都会附加到前一个文件。
如果文件已经存在,我需要帮助。
另一个我使用的命令是:
 [ -e file ] && rm file 
 不要打扰检查文件是否存在,只是试图删除它。 例如: rm -f /p/a/t/h或rm /p/a/t/h 2> /dev/null 
 但更有可能的是,如果您追加到文件,这是因为您的脚本正在使用>>将某些东西redirect到文件中。 只需用>>replace>> 。 因为你没有提供代码,所以很难说。 
你可以使用这个:
 #!/bin/bash file="file_you_want_to_delete" if [ -f $file ] ; then rm $file fi 
如果你想忽略检查文件是否存在的步骤,那么你可以使用一个相当简单的命令,如果存在,将会删除文件,如果文件不存在则不会抛出错误。
  rm -f xyz.csv 
像这样的东西会工作
 #!/bin/sh if [ -fe FILE ] then rm FILE fi 
-f检查它是否是普通文件
-e检查文件是否存在
介绍如果获得更多信息
编辑: -e与-f一起使用是多余的,单独使用-f也应该工作
 if [ $( ls <file> ) ]; then rm <file>; fi 
 另外,如果你用>而不是>>redirect你的输出,它会覆盖前面的文件