Grunt exec-Gzip目录中所有缩小的CSS和JS文件

时间:2018-08-24 08:50:37

标签: command-line find sh

我只想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
    }
}

1 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,那么您只是在寻找

find admin/assets css js '(' -name '*.min.js' -o -name '*.min.css' ')' -exec gzip -k9 '{}' +

不需要` `for循环(顺便说一句,如果您的任何文件名包含空格,循环都会中断)。