我需要编写一个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
由于
答案 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