다른 파일에 존재하지 않는 줄을 기반으로 한 파일에서 줄을 제거합니다.

다른 파일에 존재하지 않는 줄을 기반으로 한 파일에서 줄을 제거합니다.

fileB(단 하나의 열)에 fileA의 열 1에 있는 문자열이 포함되어 있지 않으면 두 개의 열이 있는 fileA에서 행을 삭제해야 합니다.

예. 이것은파일 A:

a b
a c
a d
e f
g h

그리고문서 B:

a
b
g

여기서 출력은 다음과 같아야 합니다.

a b
a c
a d
g h

답변1

join fileA fileB

파일이 첫 번째 열에 정렬되어 있다고 가정합니다(예제에 있음).

답변2

awk 'FNR == NR { onecol[$0]=1;next; }; $1 in onecol' fileB fileA

답변3

awk '{if(NR==FNR) a[$1]=$1}{if($1==a[$1] && NR>FNR) print $0}' fileB.txt fileA.txt

관련 정보