(Open source) Batch update (replace) specified strings in text files

(Open source) Batch update (replace) specified strings in text files

usage:

1. Prepare replace.jar and replace.json

Execution example: java -jar -Dfile.encoding=utf-8 replace.jar replaceGit.json

Batch example

echo off
::配置
call java -jar -Dfile.encoding=utf-8 replace.jar replaceGit.json
echo 程序执行完毕!
pause

replace.json format example 1

把文件名包含 vpn??.ovpn 的文件的aaa域名改成bbb域名
{
    
    
  "dir": "C:\\Users\\yujing\\Desktop\\OpenVPN\\",
  "showLogFindFile": false,
  "showLogNoFindOld": false,
  "showLogChange": true,
  "showLogSaveFile": true,
  "FileReps": [
    {
    
    
      "fileName": "**/vpn??.ovpn",
      "reps": [
        {
    
    
          "old": [
            "remote aaa.com 994 #服务端IP及端口号"
          ],
          "rep": "remote bbb.com 994 #服务端IP及端口号"
        }
      ]
    }
  ]
}

replace.json format example 2

修改git地址,添加用户名密码
{
    
    
    "dir": "/",
    "showLogFindFile": false,
    "showLogNoFindOld": false,
    "showLogChange": true,
    "showLogSaveFile": true,
    "FileReps": [
        {
    
    
            "fileName": "config",
            "reps": [
                {
    
    
                    "old": [
                        "url = https://git.xxx.cn/"
                    ],
                    "rep": "url = https://用户名:密码@git.xxx.cn/"
                }
            ]
        }
    ]
}

replace.json format example 3

更新okhttp3、更新gson、更新所有gradle项目的gradle版本
{
    
    
  "dir": "/",
  "showLogFindFile": false,
  "showLogNoFindOld": false,
  "showLogChange": true,
  "showLogSaveFile": true,
  "FileReps": [
    {
    
    
      "fileName": "build.gradle",
      "reps": [
        {
    
    
          "old": [
            "'com.squareup.okhttp3:okhttp:4.2.2'",
            "'com.squareup.okhttp3:okhttp:4.9.0'",
            "'com.squareup.okhttp3:okhttp:4.9.1'",
            "'com.squareup.okhttp3:okhttp:4.9.2'"
          ],
          "rep": "'com.squareup.okhttp3:okhttp:4.9.3'"
        },
        {
    
    
          "old": [
            "'com.squareup.okhttp3:logging-interceptor:4.2.2'",
            "'com.squareup.okhttp3:logging-interceptor:4.9.0'",
            "'com.squareup.okhttp3:logging-interceptor:4.9.1'",
            "'com.squareup.okhttp3:logging-interceptor:4.9.2'"
          ],
          "rep": "'com.squareup.okhttp3:logging-interceptor:4.9.3'"
        },
        {
    
    
          "old": [
            "'com.google.code.gson:gson:2.8.5'",
            "'com.google.code.gson:gson:2.8.6'",
            "'com.google.code.gson:gson:2.8.7'",
            "'com.google.code.gson:gson:2.8.8'",
            "'com.google.code.gson:gson:2.8.9'"
          ],
          "rep": "'com.google.code.gson:gson:2.9.0'"
        }
      ]
    },
    {
    
    
      "fileName": "gradle-wrapper.properties",
      "reps": [
        {
    
    
          "old": [
            "services.gradle.org/distributions/gradle-3.0-all.zip",
            "services.gradle.org/distributions/gradle-3.1-all.zip",
            "services.gradle.org/distributions/gradle-3.2-all.zip",
            "services.gradle.org/distributions/gradle-3.2.1-all.zip",
            "services.gradle.org/distributions/gradle-3.3-all.zip",
            "services.gradle.org/distributions/gradle-3.4-all.zip",
            "services.gradle.org/distributions/gradle-3.4.4-all.zip",
            "services.gradle.org/distributions/gradle-3.5-all.zip",
            "services.gradle.org/distributions/gradle-3.5.1-all.zip",
            "services.gradle.org/distributions/gradle-4.0-all.zip",
            "services.gradle.org/distributions/gradle-4.0.1-all.zip",
            "services.gradle.org/distributions/gradle-4.1-all.zip",
            "services.gradle.org/distributions/gradle-4.2-all.zip",
            "services.gradle.org/distributions/gradle-4.2.1-all.zip",
            "services.gradle.org/distributions/gradle-4.3-all.zip",
            "services.gradle.org/distributions/gradle-4.3.1-all.zip",
            "services.gradle.org/distributions/gradle-4.4-all.zip",
            "services.gradle.org/distributions/gradle-4.4.1-all.zip",
            "services.gradle.org/distributions/gradle-4.5-all.zip",
            "services.gradle.org/distributions/gradle-4.5.1-all.zip",
            "services.gradle.org/distributions/gradle-4.6-all.zip",
            "services.gradle.org/distributions/gradle-4.7-all.zip",
            "services.gradle.org/distributions/gradle-4.8-all.zip",
            "services.gradle.org/distributions/gradle-4.9-all.zip",
            "services.gradle.org/distributions/gradle-4.10-all.zip",
            "services.gradle.org/distributions/gradle-4.10.1-all.zip",
            "services.gradle.org/distributions/gradle-5.0-all.zip",
            "services.gradle.org/distributions/gradle-5.1-all.zip",
            "services.gradle.org/distributions/gradle-5.1.1-all.zip",
            "services.gradle.org/distributions/gradle-5.2-all.zip",
            "services.gradle.org/distributions/gradle-5.2.1-all.zip",
            "services.gradle.org/distributions/gradle-5.3-all.zip",
            "services.gradle.org/distributions/gradle-5.3.1-all.zip",
            "services.gradle.org/distributions/gradle-5.4-all.zip",
            "services.gradle.org/distributions/gradle-5.4.1-all.zip",
            "services.gradle.org/distributions/gradle-5.5-all.zip",
            "services.gradle.org/distributions/gradle-5.5.1-all.zip",
            "services.gradle.org/distributions/gradle-5.6.1-all.zip",
            "services.gradle.org/distributions/gradle-5.6.2-all.zip",
            "services.gradle.org/distributions/gradle-5.6.3-all.zip",
            "services.gradle.org/distributions/gradle-5.6.4-all.zip",
            "services.gradle.org/distributions/gradle-6.0-all.zip",
            "services.gradle.org/distributions/gradle-6.0.1-all.zip",
            "services.gradle.org/distributions/gradle-6.1-all.zip",
            "services.gradle.org/distributions/gradle-6.1.1-all.zip",
            "services.gradle.org/distributions/gradle-6.2-all.zip",
            "services.gradle.org/distributions/gradle-6.3-all.zip",
            "services.gradle.org/distributions/gradle-6.4-all.zip",
            "services.gradle.org/distributions/gradle-6.4.1-all.zip",
            "services.gradle.org/distributions/gradle-6.5-all.zip",
            "services.gradle.org/distributions/gradle-6.5.1-all.zip",
            "services.gradle.org/distributions/gradle-6.6-all.zip",
            "services.gradle.org/distributions/gradle-6.6.1-all.zip",
            "services.gradle.org/distributions/gradle-6.7-all.zip",
            "services.gradle.org/distributions/gradle-6.7.1-all.zip",
            "services.gradle.org/distributions/gradle-6.8-all.zip",
            "services.gradle.org/distributions/gradle-6.8.1-all.zip",
            "services.gradle.org/distributions/gradle-6.8.2-all.zip",
            "services.gradle.org/distributions/gradle-6.8.3-all.zip",
            "services.gradle.org/distributions/gradle-6.9-all.zip",
            "services.gradle.org/distributions/gradle-6.9.1-all.zip",
            "services.gradle.org/distributions/gradle-6.9.2-all.zip",
            "services.gradle.org/distributions/gradle-7.0-all.zip",
            "services.gradle.org/distributions/gradle-7.0.1-all.zip",
            "services.gradle.org/distributions/gradle-7.0.2-all.zip",
            "services.gradle.org/distributions/gradle-7.1-all.zip",
            "services.gradle.org/distributions/gradle-7.1.1-all.zip",
            "services.gradle.org/distributions/gradle-7.2-all.zip",
            "services.gradle.org/distributions/gradle-7.3-all.zip",
            "services.gradle.org/distributions/gradle-7.3.3-all.zip",
            "services.gradle.org/distributions/gradle-7.4-all.zip",
            "services.gradle.org/distributions/gradle-7.4.1-all.zip",

            "services.gradle.org/distributions/gradle-3.0-bin.zip",
            "services.gradle.org/distributions/gradle-3.1-bin.zip",
            "services.gradle.org/distributions/gradle-3.2-bin.zip",
            "services.gradle.org/distributions/gradle-3.2.1-bin.zip",
            "services.gradle.org/distributions/gradle-3.3-bin.zip",
            "services.gradle.org/distributions/gradle-3.4-bin.zip",
            "services.gradle.org/distributions/gradle-3.4.4-bin.zip",
            "services.gradle.org/distributions/gradle-3.5-bin.zip",
            "services.gradle.org/distributions/gradle-3.5.1-bin.zip",
            "services.gradle.org/distributions/gradle-4.0-bin.zip",
            "services.gradle.org/distributions/gradle-4.0.1-bin.zip",
            "services.gradle.org/distributions/gradle-4.1-bin.zip",
            "services.gradle.org/distributions/gradle-4.2-bin.zip",
            "services.gradle.org/distributions/gradle-4.2.1-bin.zip",
            "services.gradle.org/distributions/gradle-4.3-bin.zip",
            "services.gradle.org/distributions/gradle-4.3.1-bin.zip",
            "services.gradle.org/distributions/gradle-4.4-bin.zip",
            "services.gradle.org/distributions/gradle-4.4.1-bin.zip",
            "services.gradle.org/distributions/gradle-4.5-bin.zip",
            "services.gradle.org/distributions/gradle-4.5.1-bin.zip",
            "services.gradle.org/distributions/gradle-4.6-bin.zip",
            "services.gradle.org/distributions/gradle-4.7-bin.zip",
            "services.gradle.org/distributions/gradle-4.8-bin.zip",
            "services.gradle.org/distributions/gradle-4.9-bin.zip",
            "services.gradle.org/distributions/gradle-4.10-bin.zip",
            "services.gradle.org/distributions/gradle-4.10.1-bin.zip",
            "services.gradle.org/distributions/gradle-5.0-bin.zip",
            "services.gradle.org/distributions/gradle-5.1-bin.zip",
            "services.gradle.org/distributions/gradle-5.1.1-bin.zip",
            "services.gradle.org/distributions/gradle-5.2-bin.zip",
            "services.gradle.org/distributions/gradle-5.2.1-bin.zip",
            "services.gradle.org/distributions/gradle-5.3-bin.zip",
            "services.gradle.org/distributions/gradle-5.3.1-bin.zip",
            "services.gradle.org/distributions/gradle-5.4-bin.zip",
            "services.gradle.org/distributions/gradle-5.4.1-bin.zip",
            "services.gradle.org/distributions/gradle-5.5-bin.zip",
            "services.gradle.org/distributions/gradle-5.5.1-bin.zip",
            "services.gradle.org/distributions/gradle-5.6.1-bin.zip",
            "services.gradle.org/distributions/gradle-5.6.2-bin.zip",
            "services.gradle.org/distributions/gradle-5.6.3-bin.zip",
            "services.gradle.org/distributions/gradle-5.6.4-bin.zip",
            "services.gradle.org/distributions/gradle-6.0-bin.zip",
            "services.gradle.org/distributions/gradle-6.0.1-bin.zip",
            "services.gradle.org/distributions/gradle-6.1-bin.zip",
            "services.gradle.org/distributions/gradle-6.1.1-bin.zip",
            "services.gradle.org/distributions/gradle-6.2-bin.zip",
            "services.gradle.org/distributions/gradle-6.3-bin.zip",
            "services.gradle.org/distributions/gradle-6.4-bin.zip",
            "services.gradle.org/distributions/gradle-6.4.1-bin.zip",
            "services.gradle.org/distributions/gradle-6.5-bin.zip",
            "services.gradle.org/distributions/gradle-6.5.1-bin.zip",
            "services.gradle.org/distributions/gradle-6.6-bin.zip",
            "services.gradle.org/distributions/gradle-6.6.1-bin.zip",
            "services.gradle.org/distributions/gradle-6.7-bin.zip",
            "services.gradle.org/distributions/gradle-6.7.1-bin.zip",
            "services.gradle.org/distributions/gradle-6.8-bin.zip",
            "services.gradle.org/distributions/gradle-6.8.1-bin.zip",
            "services.gradle.org/distributions/gradle-6.8.2-bin.zip",
            "services.gradle.org/distributions/gradle-6.8.3-bin.zip",
            "services.gradle.org/distributions/gradle-6.9-bin.zip",
            "services.gradle.org/distributions/gradle-6.9.1-bin.zip",
            "services.gradle.org/distributions/gradle-6.9.2-bin.zip",
            "services.gradle.org/distributions/gradle-7.0-bin.zip",
            "services.gradle.org/distributions/gradle-7.0.1-bin.zip",
            "services.gradle.org/distributions/gradle-7.0.2-bin.zip",
            "services.gradle.org/distributions/gradle-7.1-all.zip",
            "services.gradle.org/distributions/gradle-7.1.1-all.zip",
            "services.gradle.org/distributions/gradle-7.2-bin.zip",
            "services.gradle.org/distributions/gradle-7.3-bin.zip",
            "services.gradle.org/distributions/gradle-7.3.3-bin.zip",
            "services.gradle.org/distributions/gradle-7.4-bin.zip",
            "services.gradle.org/distributions/gradle-7.4.1-bin.zip"
          ],
          "rep": "services.gradle.org/distributions/gradle-7.4.2-bin.zip"
        }
      ]
    }
  ]
}

Package the project into a jar in IDEA

1. Right click on the project --> Build Module

2. File menu --> Project structure --> Click build (work) --> Click + --> Select jar --> Select from modules with dependencies --> Select main function, select Extract to target jar -- -> Click Apply

3. Menu build --> build module 'replace'

4. The generated jar directory: build\artifacts\replace_jar***.jar

github address:
https://github.com/yutils/replace

おすすめ

転載: blog.csdn.net/Yu1441/article/details/125597498