我只想gzip压缩js和css文件夹中的所有缩小文件。
我在stackoverflow上选择了此命令行代码,并对其进行了修改以查找缩小的css和js文件。
for i in `find | grep -E "\.min.css$|\.min.js$"`; do gzip -k9 "$i" ; done
此命令有效,但也搜索其他目录。不需要,因为它也会搜索node_modules目录。我该如何指定仅查看js和css目录。
我尝试过
css\.min.css$|js\.min.js$
但是什么也没发生。没有错误,没有文件生成。
exec: {
gzip: {
command: 'for i in `find | grep -E "\.min.css$|\.min.js$"`; do gzip -k9 "$i" ; done',
stdout: true,
stderr: true
}
}
编辑 我在手册页中查找find命令,并为gruntfile.js中的每个文件夹分别编写了两个命令,即js和css。
工作完美,但我想可以使用grep在一行中完成。尚不确定该怎么做。
exec: {
gzipJs: {
command: 'for i in `find js admin/assets -name "*.min.js"`; do gzip -k9 "$i" ; done',
stdout: true,
stderr: true
},
gzipCss: {
command: 'for i in `find css admin/assets -name "*.min.css"`; do gzip -k9 "$i" ; done',
stdout: true,
stderr: true
}
}
答案 0 :(得分:0)
如果我对您的理解正确,那么您只是在寻找
find admin/assets css js '(' -name '*.min.js' -o -name '*.min.css' ')' -exec gzip -k9 '{}' +
不需要` `
或for
循环(顺便说一句,如果您的任何文件名包含空格,循环都会中断)。