![다른 파일에 존재하지 않는 줄을 기반으로 한 파일에서 줄을 제거합니다.](https://linux55.com/image/58832/%EB%8B%A4%EB%A5%B8%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EC%A1%B4%EC%9E%AC%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%A4%84%EC%9D%84%20%EA%B8%B0%EB%B0%98%EC%9C%BC%EB%A1%9C%20%ED%95%9C%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%EC%A4%84%EC%9D%84%20%EC%A0%9C%EA%B1%B0%ED%95%A9%EB%8B%88%EB%8B%A4..png)
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