随笔 - 366  文章 - 0  评论 - 101  阅读 - 30万

join

join默认比较文件1和2的第一个域(默认比较$1是否相同进而连接在一起)    join前需要确保两个文件sort

-a -v     a1 显示第一个文件和第二个文件相连接而且显示第一个文件中有第二个文件没有的部分     v1 只显示未连接的第一个文件的部分

zzx@zzx120:~/zzx1/test/1/2$ cat a      
100 Jason Smith  
200 John Doe  
300 Sanjay Gupta  
400 Ashok Sharma
800 zzx
zzx@zzx120:~/zzx1/test/1/2$ cat b      
100 $5,000  
200 $500  
300 $3,000  
400 $1,250
500 $1,400
zzx@zzx120:~/zzx1/test/1/2$ join a b
100 Jason Smith  $5,000
200 John Doe  $500
300 Sanjay Gupta  $3,000
400 Ashok Sharma $1,250
zzx@zzx120:~/zzx1/test/1/2$ join -a1 a b
100 Jason Smith  $5,000
200 John Doe  $500
300 Sanjay Gupta  $3,000
400 Ashok Sharma $1,250
800 zzx
zzx@zzx120:~/zzx1/test/1/2$ join -v1 a b
800 zzx
zzx@zzx120:~/zzx1/test/1/2$ join -a2 a b 
100 Jason Smith  $5,000
200 John Doe  $500
300 Sanjay Gupta  $3,000
400 Ashok Sharma $1,250
500 $1,400
zzx@zzx120:~/zzx1/test/1/2$ join -v2 a b
500 $1,400

 

-o   指定显示的格式 

zzx@zzx120:~/zzx1/test/1/2$ join -o 1.1 2.2 1.2 a b
100 $5,000 Jason
200 $500 John
300 $3,000 Sanjay
400 $1,250 Ashok

zzx@zzx120:~/zzx1/test/1/2$ join -o 2.2 1.2 a b   
$5,000 Jason
$500 John
$3,000 Sanjay
$1,250 Ashok

zzx@zzx120:~/zzx1/test/1/2$ cat 1   #没有sort
jone:B
zzx:a
hxm:c
zzx@zzx120:~/zzx1/test/1/2$ cat 2
perfect:A:90
good:B:80
soso:C:60

-1 -2  分别指定两个文件用来比较的域    不用默认的第一个域来比较

zzx@zzx120:~/zzx1/test/1/2$ join -i -t: -1 2 -2 2  1 2
join: 1:2: is not sorted: zzx:a
B:jone:good:80
c:hxm:soso:60

zzx@zzx120:~/zzx1/test/1/2$ sort -k2 -t: 1 >3
zzx@zzx120:~/zzx1/test/1/2$ join -i -t: -1 2 -2 2  3 2
a:zzx:perfect:90
B:jone:good:80
c:hxm:soso:60

zzx@zzx120:~/zzx1/test/1/2$ join -i -t: -1 2 -2 2 -o 2.3 1.1 2.2 2.1 3 2
90:zzx:A:perfect
80:jone:B:good
60:hxm:C:soso

zzx@zzx120:~/zzx1/test/1/2$ join -i -t: -1 2 -2 2 -o 2.3 1.1 2.2 2.1 3 2|sort -t: -k2
60:hxm:C:soso
80:jone:B:good
90:zzx:A:perfect

zzx@zzx120:~/zzx1/test/1/2$ join -i -t: -1 2 -2 2 -o 2.3 1.1 2.2 2.1 3 2|sort -t: -k2 -r
90:zzx:A:perfect
80:jone:B:good
60:hxm:C:soso

posted on   寒星12345678999  阅读(194)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示