在unix文件名中查找返回字符

时间:2013-02-22 16:46:53

标签: linux unix

这是一个更大问题的一部分,但当然,这是给我带来最多麻烦的一点。因此,我们的用户正在通过这样的方式创建带有返回字符的文件:

touch "tpseports
old"

这是另一个问题,而不是让我搞砸。我正在尝试做的是使用我们的脚本找到这样的文件来删除过时的文件。现在,我们运行一个find命令将旧文件名放入临时文件中,然后根据该列表删除。这里有类似的东西:

find /home/userid \( -type f -a -mtime +365 \) 1>> TEMP

while read FILELIST
do
rm -f $FILELIST
done < TEMP

问题是当我们遇到如下文件时:

/home/userid/tpseports
old

因为它会尝试删除“/ home / userid / tpseports”和“old”。 以前是否有人碰到这样的事情而且知道解决方案?我仍然在网上搜索想法,所以如果我找到解决方案,我会在这里发布。

干杯

1 个答案:

答案 0 :(得分:0)

对于这样的案例,

find-print0选项:

find -type f -mtime +365 -print0 | xargs -0 rm -f