回复 34# 沸羊羊 - for /f "tokens=1-3 delims=:," %%a in ('findstr /n .* a.txt') do (sed -i "%%as/,%%b,/,%%c,/" b.txt)
复制代码 这个代码没问题,我是32位win7系统,我下载你提供的a、b.txt测试了5遍,没有任何问题。得到的b.txt与你要求的test.txt完全一致。
其中'findstr /n .* a.txt'就是给a.txt编上行号,
"tokens=1-3 delims=:,"是用:提取行号和用,号提取a.txt中的数据
sed -i "%%as/,%%b,/,%%c,/" b.txt中的%%as是替换一一对应行的内容,将%%b(也就是你所说的1111111)替换成%%c(也就是你所说的1)
for /f就是文本循环,从a.txt的第一行一直循环到最后一行。
可能是你控制台设置里“当前代码页编码不对”是否为gbk936编码。 |