我在bash中有一个场景,其中我有2个文件emp_details.txt和emp_file.txt。 emp_details有员工的详细信息,如下所示
1 emp1 sales
2 emp2 marketng
3 emp3 testing
emp_file.txt有
1 emp1 30 2500
2 emp2 25 1200
3 emp3 33 4000
如何遍历这些文件并创建第三个文件,显示emp 1,emp 2和emp 3的完整详细信息 喜欢
1 emp1 sales 30 2500
2 emp2 marketing 25 1200
3 emp3 testing 33 4000
答案 0 :(得分:1)
以下是使用awk
的一种方式:
awk '
NR==FNR { emp[$1,$2] = $0; next }
(($1,$2) in emp) { print emp[$1,$2], $3, $4 }
' emp_details.txt emp_file.txt
1 emp1 sales 30 2500
2 emp2 marketng 25 1200
3 emp3 testing 33 4000
如果您使用的是solaris(unix的变体),请不要使用默认的awk。使用nawk
或/usr/xpg4/bin/awk
。
如果此模拟数据与您的实际数据有很大差异,您可能需要自行调整代码或更新问题并更准确地发布代表数据的数据。