(开源)批量更新(替换)文本文件中的指定字符串

10 篇文章 0 订阅

(开源)批量更新(替换)文本文件中的指定字符串

用法:

1.准备好 replace.jar 和 replace.json

执行举例: java -jar -Dfile.encoding=utf-8 replace.jar replaceGit.json

批处理举例

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

replace.json 格式举例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 格式举例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 格式举例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"
        }
      ]
    }
  ]
}

IDEA中把项目打包成jar

1.项目右键 ——> 构建模块

2.文件菜单 ——> 项目结构 ——> 点击构建(工作)——> 点击+ ——> 选择jar ——> 选择来自具有依赖项的模块 ——> 选择main函数,选择提取到目标jar --> 点击应用

3.菜单构建 ——> 构建模块’replace’

4.生成的jar目录:build\artifacts\replace_jar***.jar

github地址:
https://github.com/yutils/replace

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Kettle ,可以使用 "Replace in string" 步骤来进行字符串替换。下面是一些步骤: 1. 添加 "Replace in string" 步骤到转换。 2. 在步骤的 "Fields" 标签页添加需要进行替换的字段。 3. 在步骤的 "Options" 标签页设置要替换字符串替换后的字符串。 4. 运行转换,替换后的结果会在输出显示。 注意事项: - 如果需要替换的字段有多个,可以添加多个 "Replace in string" 步骤,或者使用 "Copy rows to result" 步骤将所有字段复制到输出结果,然后使用 "Formula" 步骤进行替换。 - "Replace in string" 步骤可以设置多个替换规则,可以使用正则表达式来进行匹配。 - 在使用正则表达式进行替换时,需要注意转义特殊字符。例如,要替换句子的所有逗号为句号,可以使用正则表达式 ", ",但需要将其转义为 "\", 即 "\,"。 ### 回答2: Kettle字符串替换是指使用Kettle工具对一个字符串进行替换操作。Kettle是一款用于数据集成和数据转换的开源工具,可以方便地对数据进行处理和转换。 在Kettle,我们可以使用"字符串替换"步骤来进行字符串替换操作。首先,我们需要在Kettle创建一个转换作业,并在作业添加一个"字符串替换"步骤。然后,我们需要指定替换的源字段和目标字段。 在"字符串替换"步骤,我们可以定义多组替换规则,每组规则包含一个要替换字符串替换后的字符串。Kettle会依次对源字段字符串进行匹配,并将匹配到的字符串替换指定字符串。 除了简单的字符替换,Kettle还支持使用正则表达式进行字符串替换。通过使用正则表达式,我们可以更加灵活地对字符串进行匹配和替换。 在进行字符串替换时,我们可以选择是否将替换结果保存到目标字段,或者只是在作业运行时进行替换操作,不保存结果。这取决于我们对数据处理结果的需求。 总之,Kettle字符串替换是一种简单而强大的数据处理方法,可以方便地对字符串进行替换操作,并在数据集成和转换过程发挥重要作用。 ### 回答3: kettle字符串替换是指使用kettle工具对字符串进行替换操作。kettle是一种常用的ETL工具,它可以帮助我们进行数据抽取、转换和加载等操作。字符串替换是其的一种常见操作,通常用于将一个字符串指定内容替换成新的内容。 在kettle进行字符串替换操作通常包括以下几个步骤: 1. 打开kettle工具,并创建一个新的转换或作业。 2. 新建一个"文本文件输入"步骤,并设置输入文件的路径和相关配置,如字符编码等。 3. 创建一个"字符串替换"步骤,并连接到上一步的输出。 4. 在字符串替换步骤,设置要替换的字段和需要替换的内容。可以设置多个字段和多个需要替换的内容。 5. 设置替换后的内容,可以是固定值,也可以使用变量或表达式来生成。 6. 运行转换或作业,kettle会根据设置的规则进行字符串替换操作,并生成替换后的结果。 通过kettle的字符串替换功能,我们可以灵活地处理字符串内容,实现各种数据处理需求。无论是简单的文字替换,还是复杂的正则表达式匹配替换,kettle都提供了丰富的功能和表达式来满足我们的需求。 总之,kettle字符串替换是一种非常方便实用的功能,在数据处理和清洗经常使用。它可以帮助我们快速、准确地处理大量的文本数据,有效地提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值