标题: [文本处理] [已解决]批处理如何将文本行按指定规则进行组合合并? [打印本页]
作者: qzwifi 时间: 2016-1-2 14:19 标题: [已解决]批处理如何将文本行按指定规则进行组合合并?
例:
a.txt文本内容为:
01 02 03
04 05 06
07 08 09
10 11 12
13 14 15
16 17 18
处理成:
01 02 03 04 05 06 07 08 09 (就是将上面6行内容的第1、2、3行合为一行)
01 02 03 04 05 06 10 11 12 (1、2、4行合为一行)
01 02 03 04 05 06 13 14 15 (1、2、5行合为一行)
01 02 03 04 05 06 16 17 18 (1、2、6行合为一行)
01 02 03 07 08 09 10 11 12 (1、3、4行合为一行)
01 02 03 07 08 09 13 14 15 (1、3、5行合为一行)
01 02 03 07 08 09 16 17 18 (1、3、6行合为一行)
01 02 03 10 11 12 13 14 15 (1、4、5行合为一行)
01 02 03 10 11 12 16 17 18 (1、4、6行合为一行)
01 02 03 13 14 15 16 17 18 (1、5、6行合为一行)
04 05 06 07 08 09 10 11 12 (2、3、4行合为一行)
04 05 06 07 08 09 13 14 15 (2、3、5行合为一行)
04 05 06 07 08 09 16 17 18 (2、3、6行合为一行)
04 05 06 10 11 12 13 14 15 (2、4、5行合为一行)
04 05 06 10 11 12 16 17 18 (2、4、6行合为一行)
04 05 06 13 14 15 16 17 18 (2、5、6行合为一行)
07 08 09 10 11 12 13 14 15 (3、4、5行合为一行)
07 08 09 10 11 12 16 17 18 (3、4、6行合为一行)
07 08 09 13 14 15 16 17 18 (3、5、6行合为一行)
10 11 12 13 14 15 16 17 18 (4、5、6行合为一行)
注:把a.txt文本内容行进行一个3行复式的行为,
上面举例的a.txt文本为简洁阐述以01 02 03这样的三个数字为例,
而实际需要处理的文本内容行字符存在个数长度不等的情况。
处理完成保存为b.txt
作者: 回家路上 时间: 2016-1-2 15:31
- @echo off & setlocal enabledelayedexpansion
- for /f "delims=" %%i in (a.txt) do (
- set /a i+=1
- set #!i!=%%i
- )
- (for /l %%i in (1,1,%i%) do (
- set /a j=%%i+1
- for /l %%j in (!j!,1,%i%) do (
- set /a k=%%j+1
- for /l %%k in (!k!,1,%i%) do (
- echo;!#%%i! !#%%j! !#%%k!
- )
- )
- ))>b.txt
- pause & exit /b
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |