我正在编写一个脚本来清理“/ srv”上的用户目录。目前,每个用户都在“/ srv / $ USER”上保留一些临时文件。
以下是我的剧本:
for x in $(cut -d: -f1 /etc/passwd); do
if [ -d "/srv/${x}" ]; then
echo "/srv/${x}"
find /srv/${x} -mindepth 1 -type f -not -amin -10080 -exec rm {} \;
fi
done
所以我尝试用ls替换rm
/srv/abc
/srv/abc/2015-04-20-11-multi-interval.json
/srv/abc/2015-04-20-10-mimic.json
/srv/xyz
/srv/xyz/magnetic_hadoop/fabfile.py
这里我要排除 / srv / abc 这是父目录并且只删除文件,所以我添加了 -mindepth 1 ,但我仍然没有得到什么我想要。
然后我添加了 -not -path / srv / $ {x} ,但没有区别。
任何人都知道我在这里失踪了什么?
由于
答案 0 :(得分:1)
' -type f'意味着您将只获得文件。并且您的输出显示:在来自echo命令的文件夹名称之后,仅显示文件。 除非您想保留用户文件夹,否则您不希望' -mindepth 1'选项;它并没有改变' -type f'
这一事实