comm 명령을 사용하여 파일 1에서 모든 고유 단어를 추출해야 하는 두 개의 텍스트 파일이 있습니다. 따라서 파일 2에 없는 단어만 추출됩니다. 해당 명령을 사용하라는 요청을 받았습니다 comm
(또는 가 아님 diff
) join
.
나는 eg.와 같은 많은 것을 시도했지만 comm -32 file1 file2
이것은 파일 1의 모든 단어를 반환합니다.
답변1
comm
각 단어가 한 줄(비교할 전체 줄)에 있어야 하는 파일을 정렬해야 합니다.
그래서 그렇습니다
(export LC_ALL=C
comm -23 <(grep -Po '\S+' file1 | sort) <(grep -Po '\S+' file2 | sort))
(GNU가 PCRE를 지원하고 쉘이 , 또는 grep
같은 프로세스 대체를 지원한다고 가정 ).ksh93
zsh
bash
sort
sums 에 대해 바이트 간 비교를 수행 하도록 로케일을 C로 수정했습니다 comm
.
답변2
파일 중 하나가 Windows 환경에 있는 경우 줄 종결자가 다를 수 있습니다. 바라보다여기전환을 위해.