我正在压缩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
答案 0 :(得分:1)
只需使用以下最小sed
即可进行替换。
sed -i.bak 's/\<var deploy = false\>/var deploy = true/' app/assets/game.js
bash
不是在文本文件上进行模式搜索/替换的正确工具,而sed
或awk
则是。
答案 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