Board logo

标题: [文本处理] [已解决]批处理在文本中指定字符满足条件添加内容? [打印本页]

作者: czvde    时间: 2022-10-20 22:21     标题: [已解决]批处理在文本中指定字符满足条件添加内容?

本帖最后由 czvde 于 2022-10-24 23:44 编辑

文件夹有N个txt文件:
1.txt
……
abc.txt

例如1.txt内容:
  1. 01一   二
  2. 111
  3. 1222一   二1000一   二2000一    二
  4. 0111000
复制代码
运行效果:
文件夹有N个txt文件:
1.txt
1-zx.txt
……
abc.txt
abc-zx.txt

例如1-zx.txt内容:
  1. 01一   二
  2. 111
  3. 1222一   二1000一   二2000(1 _abc)一    二
  4. 0111000
复制代码
已解决!
作者: hfxiang    时间: 2022-10-21 08:40

本帖最后由 hfxiang 于 2022-10-21 08:48 编辑
  1. @echo off
  2. rem 保存为ANSI格式
  3. for /f "tokens=*" %%a in ('dir /b /s *.txt^|findstr /irvec:"-zx.txt"') do (
  4. if not exist "%%~dpna-zx.txt" gawk "length($0)>10{$0=gensub(/(一 +二)/,\"^(1 _abc^)\\1\",\"g\")}1" "%%~fa">"%%~dpna-zx%%~xa"
  5. )
复制代码

作者: czvde    时间: 2022-10-24 10:55

本帖最后由 czvde 于 2022-10-24 10:59 编辑

回复 2# hfxiang


    如果一楼的条件修改成这样,用批处理如何实现
作者: hfxiang    时间: 2022-10-24 11:22

如果按新的要求,把2楼的第4行做如下修改即可
  1. if not exist "%%~dpna-zx.txt" gawk "{$0=gensub(/(一 +二)/,\"^(1 _abc^)\\1\",\"3\")}1" "%%~fa">"%%~dpna-zx%%~xa"
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2