返回列表 发帖

[文本处理] 批处理逐行合并两个文本文件时怎样处理特殊字符?

a.txt
1
: 2
~!@#$%^&*()
{}:"<>?COPY
b.txt
2
: 1
{}:"<>?
~!@#$%^&*()COPY
合并之后得到c.txt
1 2
: 2 : 1
~!@#$%^&*() {}:"<>?
{}:"<>? ~!@#$%^&*()COPY

gawk "NR==FNR{a[FNR]=$0}NR>FNR{print a[FNR],$0}" a.txt b.txt > c.txtCOPY

TOP

本帖最后由 ArdentMan 于 2011-9-4 10:51 编辑
@Echo Off
Set /A Count=-1
:Lp
Set /A Count+=1
Set "Sk=skip=%Count% "
If %Count% EQU 0 Set "Sk="
For /F "%Sk%delims=" %%i In (a.txt) Do Set /P=%%i <Nul&Goto Next
Pause>Nul&Exit
:Next
For /F "%Sk%delims=" %%i In (b.txt) Do Set /P=%%i<Nul&Echo,&Goto LpCOPY
一路飘过的鸟~~~

TOP

本帖最后由 ArdentMan 于 2011-9-4 10:04 编辑

很麻烦的说:
@Echo Off
For /F "tokens=1* delims=:" %%i In ('Findstr /n .* b.txt') Do Set "_%%i=%%j"
(For /F "delims=" %%i In ('Findstr /n .* a.txt') Do (
  Set "Str=%%i"& Set /A Count+=1
  SetLocal EnableDelayedExpansion
  For %%j In (!Count!) Do Echo,!Str:*:=! !_%%j!
  EndLocal
))>c.txt
Start c.txtCOPY
一路飘过的鸟~~~

TOP

求关注求代码

TOP

回复 2# 冷玉公子


能不能先把你的方法变成代码让我学习一下?

TOP

批处理没有类似Linux Shell 里的 jion 的合并命令
方法我觉得只有用For加递增变量来搞定这个问题
然后用Echo输入递增的变量

希望高手给出更好的方法

TOP

返回列表