免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2180 | 回复: 7

[文本处理] 如何合并这3个文本? [复制链接]

论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-12-21 06:20:00每日论坛发贴之星
日期:2015-12-21 06:20:00程序设计版块每周发帖之星
日期:2016-02-03 16:54:19
发表于 2016-01-12 14:09 |显示全部楼层
5可用积分
请问大家,假如我有三个文件,分别为
aa.txt
a a1
b b1
c c1
d d1

bb.txt
a b1
b b1
e e1

cc.txt
a c1
b c2
f f1

如何将他们合并为如下的一个文本?
  aa.txt bb.txt cc.txt
a a1 b1 c1
b b1 b1 c2
c c1 - -
d d1 - -
e - e1 -
f - - f1

谢谢啦!      

论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-12-21 06:20:00每日论坛发贴之星
日期:2015-12-21 06:20:00程序设计版块每周发帖之星
日期:2016-02-03 16:54:19
发表于 2016-01-12 14:10 |显示全部楼层
如何用awk处理?谢谢

论坛徽章:
18
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:3815-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:202015亚冠之塔什干棉农
日期:2015-08-17 19:49:492015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年亚洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40处女座
日期:2014-05-25 10:34:0020周年集字徽章-年
日期:2023-04-23 11:17:52
发表于 2016-01-12 15:38 |显示全部楼层
  1. [box@adeacbce0ed7:~/test]$ cat *.txt|awk '{x[$1]=x[$1]" "$2}END{for(i in x)print i,x[i]}'
  2. a  a1 b1 c1
  3. b  b1 b1 c2
  4. c  c1
  5. d  d1
  6. e  e1
  7. f  f1
  8. [box@adeacbce0ed7:~/test]$
复制代码

论坛徽章:
768
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
发表于 2016-01-12 15:53 |显示全部楼层
回复 1# drdachen

输出顺序不能保证, 有需要自己再排序吧.

  1. awk '{a[$1];b[$1,ARGIND]=$2;if(FNR==1)head=head"\t"FILENAME} END{print head;for(i in a){s=i;for(j=1;j<=3;j++)s=length(b[i,j])?s"\t"b[i,j]:s"\t-";print s}}' aa.txt bb.txt cc.txt
  2.         aa.txt  bb.txt  cc.txt
  3. a       a1      b1      c1
  4. b       b1      b1      c2
  5. c       c1      -       -
  6. d       d1      -       -
  7. e       -       e1      -
  8. f       -       -       f1
复制代码

评分

参与人数 1信誉积分 +5 收起 理由
drdachen + 5 很给力!

查看全部评分

论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-12-21 06:20:00每日论坛发贴之星
日期:2015-12-21 06:20:00程序设计版块每周发帖之星
日期:2016-02-03 16:54:19
发表于 2016-01-12 16:08 |显示全部楼层
本帖最后由 drdachen 于 2016-01-12 16:23 编辑

回复 4# Herowinter


谢谢,明天回去试下,可以解释下这个语句吗?小弟刚初学不久。   

论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-12-21 06:20:00每日论坛发贴之星
日期:2015-12-21 06:20:00程序设计版块每周发帖之星
日期:2016-02-03 16:54:19
发表于 2016-01-12 16:09 |显示全部楼层
回复 3# bikkuri


    谢谢,明天回去试下,可以解释下这个语句吗?小弟刚初学不久。   

论坛徽章:
12
IT运维版块每日发帖之星
日期:2015-11-17 06:20:00程序设计版块每日发帖之星
日期:2016-01-19 06:20:0015-16赛季CBA联赛之江苏
日期:2016-01-17 15:31:3915-16赛季CBA联赛之上海
日期:2016-01-16 15:44:3015-16赛季CBA联赛之浙江
日期:2016-01-15 20:38:1815-16赛季CBA联赛之北京
日期:2016-01-09 14:30:15CU十四周年纪念徽章
日期:2016-01-07 12:31:5115-16赛季CBA联赛之四川
日期:2016-01-01 11:49:1515-16赛季CBA联赛之深圳
日期:2015-12-24 14:23:4115-16赛季CBA联赛之山西
日期:2015-12-15 16:22:31技术图书徽章
日期:2015-12-10 17:41:0015-16赛季CBA联赛之北控
日期:2016-02-03 10:03:24
发表于 2016-01-12 16:37 |显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP