(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