Board logo

标题: [文件操作] 用bat替换josn文件 [打印本页]

作者: makem    时间: 2022-6-19 04:50     标题: 用bat替换josn文件

现有文件如下settings.json
    {
      "Type": "Socks5",
      "Password": "",
      "Username": "",
      "RemoteHostname": "",
      "Group": "NONE",
      "Hostname": "192.168.79.68",
      "Port": 18888,
      "Rate": 1,
      "Remark": "11"
    },
想把 "Group": "NONE"下面这行"Hostname":替换成一个变量Gateway
然后这个变量是
  1. for /f "tokens=3,4" %%a in ('route print^|find "0.0.0.0          0.0.0.0"') do (if not defined ip set "Gateway=%%a" & set "ip=%%b")
复制代码

作者: hlzj88    时间: 2022-6-19 08:52

  1. sed -i "s/Hostname/Gateway/g" settings.json
复制代码
如果只有一个需要改,或全部关键词都改。上面的可以用
http://bcn.bathome.net/s/tool/index.html?key=sed
作者: makem    时间: 2022-6-19 18:56

回复 2# hlzj88


    我是想
  1. for /f "tokens=3,4" %%a in ('route print^|find "0.0.0.0          0.0.0.0"') do (if not defined ip set "Gateway=%%a" & set "ip=%%b"
复制代码
用这串获取到Gateway的ip在替换 Hostname这行的ip
作者: flashercs    时间: 2022-6-19 20:36

  1. sed -i -E -e "s/(""Hostname""\s*:\s*"")([^""]*)/\1%Gateway%/g" .\settings.json
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2