标题: [文本处理] 【已解决】多个同样后缀格式的文本文件批量替换内容关键词 [打印本页]
作者: jave000 时间: 3 天前 14:40 标题: 【已解决】多个同样后缀格式的文本文件批量替换内容关键词
本帖最后由 jave000 于 2024-12-25 15:09 编辑
现有多个文本文件,有着同样的后缀格式,比如txt,用记事本打开是正常的文本内容。
现在需要批量把每个文本内容中第一行包含的config改为gen
请问批处理能实现吗?
谢谢
作者: hfxiang 时间: 3 天前 14:49
回复 1# jave000
如果不介意使用第3方工具,则sed( http://bcn.bathome.net/tool/4.9/sed.exe )的实现方式如下:- sed -i "1s/config/gen/" *.txt
复制代码
作者: jave000 时间: 3 天前 15:00
回复 2# hfxiang
感谢,已解决,就是因为已经有引号了,如果替换内容也需要引号,那么哪个用单引号?
作者: hfxiang 时间: 3 天前 15:06
回复 3# jave000
请提供实例以便测试
作者: jave000 时间: 3 天前 15:09
回复 4# hfxiang
就是比如带空格的文本- sed -i "1s/"something config"/"anything gen"/" *.txt
复制代码
作者: hfxiang 时间: 3 天前 15:12
回复 5# jave000 - sed -i "1s/something config/anything gen/" *.txt
复制代码
作者: jave000 时间: 3 天前 15:15
回复 6# hfxiang
谢了,我学习一下sed资料
作者: aloha20200628 时间: 3 天前 15:54
本帖最后由 aloha20200628 于 2024-12-25 16:10 编辑
回复 1# jave000
给一个批处版本》将当前目录下的每个 *.txt 文件中的首行(假定首行不能是空行)作关键词替换并覆写源文件...- @echo off &setlocal enabledelayedexpansion
- for /f "delims=" %%F in ('dir /b/a-d *.txt') do (
- set/p "a="<"%%F" &set "a=!a:config=gen!"
- more +1 "%%F">"_.2" &echo,!a!>"_.1" © /y _.1+_.2 "%%F")>nul
- del /q _.1 _.2 &pause&exit/b
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |