Board logo

标题: [文本处理] 用批处理将文本里的指定行里的数字按序列/加一/加1/自增一填充成多行内容 [打印本页]

作者: gannh    时间: 2013-4-28 17:00     标题: 用批处理将文本里的指定行里的数字按序列/加一/加1/自增一填充成多行内容

本帖最后由 pcl_test 于 2017-3-29 04:47 编辑

请问这个文本数据,用批处理命令可以实现吗?
现有N个文本文件,现在里面的数据如下:
A target=_blank href=data\1.html>fd</a></td><td

现在要求在每个文本文件里,增加N行,结果如下:
A target=_blank href=data\1.html>fd</a></td><td
A target=_blank href=data\2.html>fd</a></td><td
A target=_blank href=data\3.html>fd</a></td><td
A target=_blank href=data\4.html>fd</a></td><td
.
.
.
.
.
请问这个用批处理命令可以实现吗?谢谢各位大师指教
作者: CrLf    时间: 2013-4-28 18:23

本帖最后由 CrLf 于 2013-4-28 18:28 编辑

也许可以这样:
  1. @echo off
  2. set line=4
  3. (for /f "delims=" %%a in (a.html) do (
  4.   set "str=%%a"
  5.   setlocal enabledelayedexpansion
  6.   for /l %%b in (1 1 !line!) do (
  7.      set /a n=%%b+1
  8.      for %%c in (!n!) do (
  9.         set "str=!str:\%%b.html=\%%c.html!"
  10.         echo;!str!
  11.      )
  12.   )
  13.   endlocal
  14. ))>b.html
复制代码

作者: yoyobye    时间: 2013-4-30 11:11

  1. @echo off
  2. cd.>c.html
  3. for /f "tokens=1,2,* delims=\>" %%i in (a.html) do (
  4. for /l %%a in (1,1,5) do (
  5. echo %%i\%%a.html^>%%k
  6. )
  7. )>>c.html
复制代码

作者: gannh    时间: 2013-5-2 11:42

谢谢yoyobye 和 CrLf ,可以了,谢谢指教
作者: Batcher    时间: 2013-5-2 14:39

  1. gawk -F\ "{for(i=1;i<=5;i++)print $1\"\\\\\"i substr($2,2)}" a.txt > b.txt
复制代码

作者: gannh    时间: 2013-5-2 14:52

谢谢Batcher指点,学习了




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