两个文本文件的内部连接希望对两个不同的文本文件执行内部连接。基本上,我正在寻找与GNU连接程序相当的内部连接。这样的东西存在吗?如果没有,则awk或sed解决方案将非常有用,但我的第一选择是Linux命令。下面是我想要做的事情的一个例子档案1:0|Alien Registration Card LUA|Checklist Update1|Alien Registration Card LUA|Document App Plan2|Alien Registration Card LUA|SA Application Nbr3|Alien Registration Card LUA|tmp_preapp-DOB0|App - CSCE Certificate LUA|Admit Type1|App - CSCE Certificate LUA|Alias 12|App - CSCE Certificate LUA|Alias 23|App - CSCE Certificate LUA|Alias 34|App - CSCE Certificate LUA|Alias 4档案2:Alien Registration Card LUA结果:0|Alien Registration Card LUA|Checklist Update1|Alien Registration Card LUA|Document App Plan2|Alien Registration Card LUA|SA Application Nbr3|Alien Registration Card LUA|tmp_preapp-DOB
3 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
$ awk -F'|' 'NR==FNR{check[$0];next} $2 in check' file2 file1
这是怎么回事?
-F'|'
-设置字段分隔符 'NR==FNR{check[$0];next}
-如果总记录号与文件记录号匹配(即我们正在读取所提供的第一个文件),则填充一个数组并继续。 $2 in check
-如果在我们创建的数组中提到了第二个字段,则打印行(如果不提供操作,这是默认操作)。 file2 file1
-档案订单是重要的,因为 NR==FNR
构造。
白板的微信
TA贡献1883条经验 获得超3个赞
cat file2 | while read line; do grep $line file1 # or whatever you want to do with the $line variabledone
- 3 回答
- 0 关注
- 514 浏览
添加回答
举报
0/150
提交
取消