打算批量替换项目里console.log
为console.info
列出匹配的文件的相对路劲
$ files=$(ag -l "console\.log")
使用sed
修改上述文件的内容,替换原内容为新内容
$ for file in ${files[@]}; do echo $file; sed -i 's/console.log/console.info/g' $file;done
core/program.js
debugs/iconv_test.js
debugs/ping_AST.js
debugs/spawnPingTest.js
debugs/telnet_auto.js
modules/cmdc.js
modules/md5_sha1.js
modules/md5_sha1_funcs.js
tests/commander/funcs_nest_commands.test.js
一条语句的示例
如下示例修改config
目录下的所以环境配置文件中的"WLAN"
为"WLAN 5"
,表示切换匹配的网卡的名字
ag '"WLAN"' config/ -l|while read file;do echo $file;sed -i 's/"WLAN"/"WLAN 5"/' $file ;done
此处的while
省却了上文临时保存变量和for循环遍历的工作,写起来更方便
网友评论