我们有 2个Unicode文件。其中一个包含另一个文件中缺少的行。像这样:
1.
2. bbbbbbbbbbbbbbbbb
3.
4. ddddddddddddddddddddd
5. eeeeeeeeeeeeeeeeeeeeeeee
1. aaaaaaaaaaaaaa
2.
3. ccccccccccccccccc
4.
5.
我们希望将它们合并到包含所有行的第三个文件中:
1. aaaaaaaaaaaaaa
2. bbbbbbbbbbbbbbbbb
3. ccccccccccccccccc
4. ddddddddddddddddddddd
5. eeeeeeeeeeeeeeeeeeeeeeee
备注:
a,b,c,d,e - 可以是任何文本
行号仅用于说明目的,它们不存在于实际文件中。
我用“批处理文件”标记创建了这个问题,但我对如何实现这一点的任何建议持开放态度。当然最好不要涉及像C ++这样的东西
答案 0 :(得分:1)
假设没有以冒号开头的行, 首先我们从两个文件中读取每一行到两个数组,包括空行 - 这有一个特殊的黑客,因为正常跳过空白行。 然后只使用相同索引的两个数组连接元素,并输出到results.txt:
setlocal EnableDelayedExpansion
set i=0
for /f "tokens=1* delims=:" %%A in ('type "file1.txt" ^| findstr /n "^"') do (
set /A i+=1
set arr1[!i!]=%%B
)
set i=0
for /f "tokens=1* delims=:" %%A in ('type "file2.txt" ^| findstr /n "^"') do (
set /A i+=1
set arr2[!i!]=%%B
)
for /L %%i in (1,1,%i%) do echo.!arr1[%%i]!!arr2[%%i]!>> result.txt