【发布时间】:2016-02-03 17:55:32
【问题描述】:
我正在尝试删除一些目录,并且我希望能够排除一个名为“日志”的目录被删除。
这是我的基本查找操作(不排除):
# find . -type d |tail -10
./d20160124-1120-df8mfb/deployments
./d20160124-1120-df8mfb/releases
./d20160131-16993-vazqg5
./d20160131-16993-vazqg5/metadata
./d20160131-16993-vazqg5/deployments
./d20160131-16993-vazqg5/releases
./logs
./d20160203-27735-1tqbjh6
./d20160125-1120-1yccr9p
./d20160131-16993-1yf9lnc
我只是在拖尾输出,以便您在不占用整个页面的情况下了解正在发生的事情。 :)
如果我尝试使用 prune 命令排除日志目录,则不会返回任何结果。
root@ops-manager:/tmp/tmp# find . -type d -prune -o -name 'logs' -print
root@ops-manager:/tmp#
我做错了什么?
一旦我做对了,我将添加一个 -exec rm rf {} \;命令,以便我可以删除这些目录。
如有任何帮助,我们将不胜感激!
【问题讨论】:
-
解决方案必须是纯 bash 吗?如果是这样,最好将
bash标签放在问题中。
标签: find