shell脚本在压缩前更改文件中的var?

时间:2017-01-23 13:19:17

标签: bash shell

我正在压缩JS文件进行生产,希望在压缩之前自动化一些乏味的东西;第一行:

var deploy = false, test_ads_dev = false, show_interstitial = false,

我需要var deploy = false更改为var deploy = true,在文件:app/assets/game.js中(如压缩器命令中所示)。

如何让脚本执行替换?

#!/bin/bash
first="var deploy = false"
second="var deploy = true"
first=${first/$second}
java -jar yuicompressor-2.4.8.jar -v -o game.min.js app/assets/game.js

2 个答案:

答案 0 :(得分:1)

只需使用以下最小sed即可进行替换。

sed -i.bak 's/\<var deploy = false\>/var deploy = true/' app/assets/game.js

bash不是在文本文件上进行模式搜索/替换的正确工具,而sedawk则是。

答案 1 :(得分:0)

谢谢你们。我自己得到了另外60%的答案。

#!/bin/bash
sed -i.bak 's/var deploy = false/var deploy = true/' app/assets/game.js
java -jar yuicompressor-2.4.8.jar -v -o game.min.js app/assets/game.js
mv app/assets/game.js.bak app/assets/game.js