我需要比较每个emp_id
in是否file1
存在于 和 中file2
,emp_id
然后我需要比较emp_sal
infile1
和是否file2
与该匹配emp_id
。类似地,我必须比较所有内容emp_ids
并返回一个文件中匹配的输出,而在另一个文件中不匹配的输出。file1
file2
文件1
Emp-id emp-sal
1234. 1200
1255. 1400
4567. 5800
8765. 2340
文件2
Emp-num. Emp-sal- amt
1234. 1200
1255. 1700
4567. 5800
8765. 2340
输出匹配记录
Emp-id emp-sal emp- sal-amt
1234. 1200. 1200
4567. 5800. 5800
8765. 2340. 2340
不匹配
Emp-id emp-sal emp-sal-amt
1255. 1400. 1700
答案1
配套案例:
join <(< File1 sed '1d; s/ */ /g' | sort -n -k1,1) \
<(< File2 sed '1d; s/ */ /g' | sort -n -k1,1) | awk '$2==$3'
join
需要由单个字符分隔的字段(默认为空白),并且行必须按关键字段(默认为第一个字段)排序,因此我添加了一些来sed
清理输入:'1d;
将跳过标题,并s/ */ /g'
替换多个空格与一个空格。