我需要一个find
参数:
./bootstrap
.js
结尾但不在.min.js
.css
结尾但不在.min.css
最好是在一个独特的命令中。
我一直在关注-prune
和-regex
,但似乎都没有效果。我正在使用它来输入zip
命令来压缩所有内容,作为构建过程的一部分。
答案 0 :(得分:3)
这样的事情应该有效:
find . \( -iname "*.js" -or -iname "*.css" \) -not -iname "*.min.js" -not -iname "*.min.css" | grep -v '^\./bootstrap'
您也可以使用find
的{{1}}标记执行此操作,但我认为语法比简单-prune
更复杂。
另请注意,我使用的是grep
而不是-iname
- 这会使字符串不区分大小写,这通常就是我所做的,以防我的源代码树包含来自Windows的文件,但请随意使用适合您情况的任何一种。
答案 1 :(得分:1)
这个怎么样?
find . ! \( -name bootstrap -prune -o -name '*.js' ! -name '*.min.js' -o -name '*.css' ! -name '*.min.css' \)
如果您只想保留文件,请在最后添加-type f
。