楼 主
[求助]DOS如何合并两个文件中的相同行
发表于 2007-12-27 18:14 · 中国 广东 广州 天河区 电信
初级用户
★★
积分 71
发帖 59
注册 2007-12-27 17:53
18年会员
UID 106966
性别 男
状态 离线
如有两个文件1.txt,2.txt
1.txt中的内容:
a1
b1
c1
d1
e1
2.txt中的内容:
a2
b2
c2
d2
e2
合并为3.txt
[1]a1[2]a2[3]
[1]b1[2]b2[3]
[1]c1[2]c2[3]
[1]d1[2]d2[3]
[1]e1[2]e2[3]
第 2 楼
发表于 2007-12-27 18:17 · 中国 广东 广州 天河区 电信
初级用户
★★
积分 71
发帖 59
注册 2007-12-27 17:53
18年会员
UID 106966
性别 男
状态 离线
第 3 楼
发表于 2007-12-27 18:19 · 中国 广东 广州 天河区 电信
初级用户
★★
积分 71
发帖 59
注册 2007-12-27 17:53
18年会员
UID 106966
性别 男
状态 离线
原有一txt文件和把它分成三个文件
for /f %%i in (a1.txt,a3.txt,a5.txt) do echo %%i>>a1.txt
现想按以上格式各并....
第 4 楼
试试这个:
发表于 2007-12-27 23:13 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
@echo off & SetLocal EnableDelayedExpansion
for %%a in (1.txt 2.txt) do set /a num+=1&call :context %%a !num!
for /l %%a in (1,1,%maxline%) do (
set lineno=%%a
>>3.txt echo:!file_1_%%a!!file_2_%%a!
)
echo 处理完成&pause & start notepad 3.txt&exit /b 0
:context
set line=0
for /f "delims=" %%a in (%1) do (
set /a line+=1
set file_%2_!line!=%%a
)
if not defined maxline set maxline=%line%
goto :EOF
第 5 楼
发表于 2007-12-28 09:56 · 中国 广东 广州 天河区 电信
初级用户
★★
积分 71
发帖 59
注册 2007-12-27 17:53
18年会员
UID 106966
性别 男
状态 离线
论坛跳转: