emp_id
각각의 in이 file1
합계에 존재하는지 비교해야 하고 file2
, 그런 다음 in 과 합계가 해당 항목과 일치하는지 emp_id
비교해야 합니다 . 마찬가지로 모든 것을 비교하여 한 파일에서는 일치하는 출력을 반환하고 다른 파일에서는 일치하지 않는 출력을 반환해야 합니다.emp_sal
file1
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'
여러 공백은 생략됩니다. A 공백으로 대체되었습니다.