2017-02-08 5 views
0

탭이있는 두 개의 열이있는 두 개의 텍스트 파일이 있는데 둘 사이의 일치를 찾고 싶습니다. 파일에는 확인하려는 정보의 반대 순서로 열이 있습니다.두 파일 간의 일치를 확인하는 방법

파일 1 :

B.1  Av1 
Q7  G3 
Q9  S4 

파일 2 :

Av1  B.1 
G3  Q7  
S8  Q9 

는 출력은 다음과 같아야합니다

B.1  Av1  match 
Q7  G3  match 
Q9  S4  no match 

내가 파일에 컬럼의 순서를 변경할 수 있다는 것을 알 2 그리고 그들은 diff 또는 awk를 사용하여 파일 1과 비교하지만, 내가하는 파일을 비교하는 더 간단한 방법이 있는지 궁금합니다. 열 위치를 변경할 필요가 없습니다.

답변

1

당신은 열 순서를 변경하지 않고 AWK를 사용할 수 있습니다

$ awk 'NR==FNR {a[$1]; next} {printf "%s\t%s\n", $0, $2 in a ? "match" : "no match"}' file2 file1 
B.1  Av1 match 
Q7  G3  match 
Q9  S4  no match 
+0

감사합니다! 그것은 아주 잘 작동했습니다. – Paul