找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27349|回复: 8

[文本处理] 批处理如何将一个文本的第一列内容行行对应插入到另一个文本每行的行尾

[复制链接]
发表于 2011-6-3 15:30:45 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-7-16 22:31 编辑

因最近工作需要,要处理一份文本,学了批处理还是无法应用到工作中,麻烦路过的大师们帮我解决解决问题,在此先谢过了

通过一个批处理实现将 B.txt文本内容的第一列,追尾到A.txt文本的内容的后面,输出的结果如c.txt 文本显示,刚好每一

行都对应,最好处理速度上能快点

麻烦路过的朋友们帮帮忙,谢谢


A.txt 文本的内容

12345637----aaabbb
77777377----cccddd
88888828----cccxxx
1111111----djdjdj
123436677----jjdsjd
12345637----aaabbb
33677755----cccddd
884232322----cccxxx
32333223----djdjdj
36896544----aaabbb
....
这里省略,有几千行
....

B.txt 文本的内容

22233444----xxxbbb
22233444----cccxxx
22233444----cccsss
22233444----33333
22233444----djdjdj
555555----223344
555555----sjsjj3
666666----223466
666666----2235667
777777----233jj3j


输出的C.txt 文本的内容


12345637----aaabbb----22233444
77777377----cccddd----22233444
88888828----cccxxx----22233444
1111111----djdjdj----22233444
123436677----jjdsjd----22233444
12345637----aaabbb----555555
33677755----cccddd----555555
884232322----cccxxx----666666
32333223----djdjdj----666666
36896544----aaabbb----777777
发表于 2011-6-3 16:23:38 | 显示全部楼层
  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. for /f "tokens=1 delims=-" %%i in (b.txt) do (set/a x+=1&set x!x!=%%i)
  3. for /f "delims=" %%i in (a.txt) do (set/a n+=1&call echo %%i---%%x!n!%%)
  4. pause
复制代码
发表于 2011-6-3 16:36:40 | 显示全部楼层

  1. @echo off
  2. setlocal enabledelayedexpansion&cls
  3. path=%path%;%~d0\DOS\网络;%~d0\DOS\command\第三方命令行程序;%~d0\DOS\command;%~d0\DOS\源码;%~d0

  4. \DOS\sysbkup
  5. :start ============================================================
  6. set/a n=0
  7. for /f "tokens=1 usebackq delims=-" %%a in ("b.txt") do (
  8. set _!n!=%%a
  9. set/a n+=1)
  10. set/a n=0
  11. for /f "tokens=* usebackq delims=" %%a in ("a.txt") do (
  12. call echo %%a----%%_!n!%%
  13. set/a n+=1)>>c.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
seekbook + 1 采用了谢谢

查看全部评分

发表于 2011-6-3 17:23:21 | 显示全部楼层
如果两个文本行数不一样怎么办呢?
发表于 2011-6-3 18:34:30 | 显示全部楼层
for /f 真是个好东西~
发表于 2011-6-3 20:09:16 | 显示全部楼层
4# wolonga123


关键是,你想怎么办呢?
 楼主| 发表于 2011-6-3 20:15:58 | 显示全部楼层
3# hfg1977


谢谢仁兄,代码可以用了,非常感谢
 楼主| 发表于 2011-6-3 20:16:29 | 显示全部楼层
2# 601997526


谢谢哈,你的也能用
发表于 2011-6-3 20:17:31 | 显示全部楼层
  1. gawk -F"----" "NR==FNR{a[FNR]=$1"----"$2}NR>FNR{print a[FNR]"----"$1}" a.txt b.txt | more >c.txt
复制代码
http://bbs.bathome.net/thread-3981-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 10:30 , Processed in 0.030800 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表