免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: zhakalamu
打印 上一主题 下一主题

求助一个文件合并操作 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-09-08 11:00 |只看该作者
回复  zhakalamu


    意思是 a1 a2之间也是制表符?
liion631818 发表于 2011-09-08 10:58



    对的 每行每个元素之间的都是制表符

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
12 [报告]
发表于 2011-09-08 11:00 |只看该作者
本帖最后由 liion631818 于 2011-09-08 11:02 编辑

回复 11# zhakalamu


    paste 1.txt 2.txt 3.txt | tr -s " " "\t"

论坛徽章:
0
13 [报告]
发表于 2011-09-08 11:02 |只看该作者
回复  zhakalamu


    paste 1.txt 2.txt 3.txt | tr " " "\t"
liion631818 发表于 2011-09-08 11:00


汗 你没明白我的意思,我的意思是 使用paste命令的话,对于行数比较多的文件,多出来的那几行会自动移动到前面对齐,象我4楼,5楼显示的效果那样。主要不是\t和空格的问题。

论坛徽章:
0
14 [报告]
发表于 2011-09-08 11:05 |只看该作者
主要就是对齐问题,空格还是制表符什么的,都好办~

论坛徽章:
0
15 [报告]
发表于 2011-09-08 11:13 |只看该作者
汗 你没明白我的意思,我的意思是 使用paste命令的话,对于行数比较多的文件,多出来的那几行会自动移动 ...
zhakalamu 发表于 2011-09-08 11:02



    看来有点麻烦

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
16 [报告]
发表于 2011-09-08 11:19 |只看该作者
本帖最后由 liion631818 于 2011-09-08 13:19 编辑

回复 14# zhakalamu


    这样试试, 要求就是每个文件第一行最长,

  1. paste -d "@" 1.txt 2.txt 3.txt | awk -F "@" -vOFS=" " '{for (i=1;i<=NF;i++) {
  2. if (NR==1) l[i]=length($i);$i=sprintf("%s%-"l[i]-length($i)"s",$i," "); NF+=0}}
  3. 1'
复制代码

论坛徽章:
0
17 [报告]
发表于 2011-09-08 11:24 |只看该作者
回复  zhakalamu


    这样试试, 要求就是每个文件第一行最长,
liion631818 发表于 2011-09-08 11:19



    不能要求每个文件的第一行最长,因为涉及的后面的操作问题,从左到右的文件合并顺序是不能改变的。每个文件的列数可以确定,但是行数是不能确定的。任何一个需要合并的子文件都可能是最长的。

论坛徽章:
0
18 [报告]
发表于 2011-09-08 11:24 |只看该作者
回复 17# zhakalamu


    有没有列数不同的情况,比如
a1 a2
a3 a4 a5

论坛徽章:
0
19 [报告]
发表于 2011-09-08 11:26 |只看该作者
回复  zhakalamu


    有没有列数不同的情况,比如
a1 a2
a3 a4 a5
mpstat 发表于 2011-09-08 11:24

不存在

论坛徽章:
0
20 [报告]
发表于 2011-09-08 11:28 |只看该作者
回复  zhakalamu


    这样试试, 要求就是每个文件第一行最长,
liion631818 发表于 2011-09-08 11:19


而且 你考虑了这种情况没
就是即使第一个文件最长
第二行文件只有1行,
以后的文件比第二个文件要长,依然要自动向前对齐的。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP