linux命令--join、paste

1、join

主要是在处理『两个档案当中,有 "相同数据" 癿那一行,才将他加在一起』癿意思。

格式:join [-ti12] file1 file2

选项与参数:

   -t :join 默认以空格符分隔数据,幵且比对『第一个字段』的数据, 如果两个档案相同,则将两笔数据联成一行,且第一个字段放在第一个!

   -i :忽略大小写的差异;

  -1 :这个是数字的1 ,代表『第一个档案要用那个字段来分析』的意思;

   -2 :代表『第二个档案要用那个字段来分析』的意思。

例子:

cat 1.txt

1  tom  12  160

2  jack  18  182

3  mary  16  168

cat 2.txt

tom  50

jack  75

mary  45

命令:join -1 2 -2 1 1.txt 2.txt          

tom  1  12  160  50

jack  2  18  182  75

mary  3  16  168  45

 

2、paste

相对于 join 必须要比对两个档案的数据相关性, paste 就直接『将两行贴在一起,且中间以 [tab] 键隔开』。

格式:paste [-d] file1 file2

选项不参数:

   -d :后面可以接分隔字符。预设是以 [tab]来分隔的!

  - :如果 file 部分写成 - ,表示来自 standard input 的资料的意思。

cat 1.txt

tom  12

jack  18

mary  16

cat 2.txt

160

182

168

cat 3.txt

50

75

45

命令:cat 3.txt |paste 1.txt 2.txt -

tom  12  160  50

jack  18  182  75

mary  16  168  45

posted @ 2018-06-11 14:14  阿光_He  阅读(498)  评论(0编辑  收藏  举报