查找并删除文件但不是特定路径
Find and delete file but not specific path
我正在编写一个脚本来清理“/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
所以我尝试用这个脚本将 rm 替换为 ls
/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} 但没有区别。
有人知道我在这里错过了什么吗?
谢谢
“-type f”意味着您将只获得文件。并且您的输出显示:在来自 echo 命令的文件夹名称之后,仅显示文件。
除非你想完整地保留用户文件夹,否则你不需要“-mindepth 1”选项;它不会改变 '-type f'
的事实
我正在编写一个脚本来清理“/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
所以我尝试用这个脚本将 rm 替换为 ls
/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} 但没有区别。
有人知道我在这里错过了什么吗?
谢谢
“-type f”意味着您将只获得文件。并且您的输出显示:在来自 echo 命令的文件夹名称之后,仅显示文件。 除非你想完整地保留用户文件夹,否则你不需要“-mindepth 1”选项;它不会改变 '-type f'
的事实