标题: [文本处理] 求助批处理获取文本B内容,替换文本A中的内容 [打印本页]
作者: clock874 时间: 2018-12-19 10:59 标题: 求助批处理获取文本B内容,替换文本A中的内容
文本A内容如下:
654485244----feasd12----童童
654843485----as35e1f----乐乐
654115846----65awe5----亲亲
135857486----faseadf----宝宝
185647566----fwsa65----贝贝
文本B内容如下:
654485244----sldkwhjd
135857486----alxckedf
654843485----alckejffg
意思就是文本B的内容是文本A的内容修改过第二项的。
两个文本都很长,要怎么样才能把文本B的内容导入文本A,只修改第二项。求指教,叩谢!
作者: yhcfsr 时间: 2018-12-19 11:24 标题: [更新]参考三楼建议
本帖最后由 yhcfsr 于 2018-12-19 15:00 编辑
- @echo off
- set "ATXT=a.txt"
- set "BTXT=b.txt"
- (for /f "tokens=1,2* delims=-" %%a in ('type "%ATXT%"') do (
- set "flag="
- for /f "tokens=2 delims=-" %%i in ('findstr /c:"%%a" "%BTXT%"') do (set "flag=1"&echo;%%a----%%i----%%c)
- if not defined flag echo;%%a----%%b----%%c
- ))>结果.txt
复制代码
作者: Batcher 时间: 2018-12-19 12:52
回复 2# yhcfsr
猜测楼主的意思,654115846在b文件里面没有出现,a文件第二列不变但是要保留。
作者: cfwyy77_bat 时间: 2018-12-19 13:22
- gawk 'BEGIN{OFS=FS="----"}FILENAME=="B.txt"{a[$1]=$2}FILENAME=="A.txt"{if(a[$1]) print $1,a[$1],$3;else print $0}' B.txt A.txt >result.txt
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |