我已准备好很多帖子,并尝试了所有这些帖子,但是没有任何工作对查找输出产生任何影响。
我基本上有一堆源文件,但是grails的工作方式,它将一个“目标”目录放在一个子文件夹中,包含我们想要排除的所有构建工件。
我的基本命令行包含我需要的文件如下:
find * -type f -name "*.groovy" -o -name "*.gsp" -print > ha
注意我没有使用“查找”。因为我不希望“./xxx”出现在输出中。
我在哈哈获得“myapp / target / xxx / yyy”。
我已经尝试了以下所有内容,但没有任何影响输出:
find * ! -path "backoffice/target/" -type f -name "*.groovy" -o -name "*.gsp" -prune -print > ha
find * \( ! -path "backoffice/target/*" \) -type f -name "*.groovy" -o -name "*.gsp" > ha
find * -type f -name "*.groovy" -o -name "*.gsp" -not -path '*/target/*' > ha
find * -type f -name "*.groovy" -o -name "*.gsp" ! -path "*target*" > ha
find * -type d \( ! -wholename "backoffice/target/*" \) -type f -name "*.groovy" -o -name "*.gsp" -print > ha
find * ! -wholename "backoffice/target/*" -type f -name "*.groovy" -o -name "*.gsp" -print > ha
以及上述的许多变化。
任何想法?
答案 0 :(得分:1)
find * -path "backoffice/target/" -prune -o -type f \( -name "*.groovy" -o -name "*.gsp" \) -print
答案 1 :(得分:0)
这是一个答案,99%的已发布解决方案"不包括子目录"似乎不起作用(至少对我而言)。
有趣的是,这是我们尝试获取grails项目的源文件列表:
find * -type d \( -name "target" -o -name "test" \) -prune -o -type f \( -name "*.groovy" -o -name "*.gsp" -o -name "*.java" -o -name "*.css" -o -name "*.js" -o -name "*.less" -o -name "*.properties" -o -name "*.sql" -o -name "*.xml" \) -print > ha