0

我想知道是否有一种更有效的方法可以从外部文件中获取与 -prune 一起使用的目录模式:

find . \( -type d -a -exec sh -c "echo \"{}\" | grep -qEx -f patterns.prune" \; \) -prune -o \( <further checks> \)

这很有效,但由于之前的每场比赛都使用了外壳/管道,因此速度当然非常慢。那么有没有比上述更优雅的方法,或者我真的必须将模式文件的行链接为 find 的命令行开关?

谢谢。

4

1 回答 1

1

您可以尝试在运行结束时通过管道连接到 grep,只调用一次,即:

find . <your_other_conditions> | grep -v -f patterns.prune

这可能不适用于您的特定情况,因为它现在 A) 也可以在修剪的目录下找到所有内容(尽管您可以通过调整 patterns.prune 来解决此问题)和 B) 解除对find的控制,这样您就不能使用在结果中查找内置函数(例如-exec)。

于 2013-05-03T20:13:04.050 回答