用于从.js文件中删除文本的脚本

时间:2016-02-13 09:40:23

标签: javascript regex bash shell

我需要编写一个bash脚本来从我的web项目的任何.js文件中删除一些文本。 这些是我需要删除的元素:

if ( Utils.DEBUGGING ) /* ... */ ;
if ( Utils.DEBUGGING ) {/* ... */}
if ( Utils.DEBUGGING ) {
 /* ... */
}

if (Utils.DEBUGGING) /* ... */ ;
if (Utils.DEBUGGING) {/* ... */}
if (Utils.DEBUGGING) {
 /* ... */
}

if (Utils.DEBUGGING ) /* ... */ ;
if (Utils.DEBUGGING ) {/* ... */}
if (Utils.DEBUGGING ) {
 /* ... */
}

if ( Utils.DEBUGGING) /* ... */ ;
if ( Utils.DEBUGGING) {/* ... */}
if ( Utils.DEBUGGING) {
 /* ... */
}

关于如何做到这一点的任何想法?

我是这样开始的:

#!/bin/bash
for i in *.js
do     
    # ...
done

由于

1 个答案:

答案 0 :(得分:1)

如果块内的东西本身包含任何块,那么任何基于正则表达式的方法都会遇到困难。我想您使用/ * ... * /作为实际代码的占位符,但我猜测实际上您的示例更复杂。

值得指出的是,如果将标志设置为false,那么当代码运行时,开销将会非常小,因为编译器可以执行死代码消除(DCE)。

也就是说,如果你真的想永久摆脱代码的这些部分,一种选择就是使用像Closure Compiler这样的工具。您可以通过API或独立的可执行文件在线交互使用它。

如果您选择使用独立选项,您的代码可能是这样的:

for file in path/to/input/*.js; do
    output_file=path/to/output/"$file"
    java -jar compiler.jar -O SIMPLE --js_output_file "$output_file" "$file"
done