[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已解决】多个同样后缀格式的文本文件批量替换内容关键词

本帖最后由 jave000 于 2024-12-25 15:09 编辑

现有多个文本文件,有着同样的后缀格式,比如txt,用记事本打开是正常的文本内容。
现在需要批量把每个文本内容中第一行包含的config改为gen
请问批处理能实现吗?
谢谢

回复 1# jave000

如果不介意使用第3方工具,则sed( http://bcn.bathome.net/tool/4.9/sed.exe )的实现方式如下:
  1. sed -i "1s/config/gen/" *.txt
复制代码
1

评分人数

TOP

回复 2# hfxiang


    感谢,已解决,就是因为已经有引号了,如果替换内容也需要引号,那么哪个用单引号?

TOP

回复 3# jave000
请提供实例以便测试

TOP

回复 4# hfxiang


  就是比如带空格的文本
  1. sed -i "1s/"something config"/"anything gen"/" *.txt
复制代码

TOP

回复 5# jave000
  1. sed -i "1s/something config/anything gen/" *.txt
复制代码
1

评分人数

TOP

回复 6# hfxiang


    谢了,我学习一下sed资料

TOP

本帖最后由 aloha20200628 于 2024-12-25 16:10 编辑

回复 1# jave000

给一个批处版本》将当前目录下的每个 *.txt 文件中的首行(假定首行不能是空行)作关键词替换并覆写源文件...
  1. @echo off &setlocal enabledelayedexpansion
  2. for /f "delims=" %%F in ('dir /b/a-d *.txt') do (
  3.   set/p "a="<"%%F" &set "a=!a:config=gen!"
  4.   more +1 "%%F">"_.2" &echo,!a!>"_.1" &copy /y _.1+_.2 "%%F")>nul
  5. del /q _.1 _.2 &pause&exit/b
复制代码
1

评分人数

TOP

返回列表