두 파일에서 일반적이지 않은 대소 문자를 구분하지 않는 텍스트를 추출하는 방법은 무엇입니까?

재퍼 윌슨

파일에서 일반적이지 않은 텍스트를 추출하려고하는데 이것을 시도했습니다.

awk 'FNR==NR {a[$0]++; next} !a[$0]' 1.txt 2.txt
http://PQR.com
http://example.com

다음은 입력 파일입니다.

File: 1.txt
http://google.com
http://GOOGLE.com
http://example1.com
http://seperate.com
http://pqr.com
File: 2.txt
http://PQR.com
http://example.com
http://google.com

당신이 볼 수 있듯이, http://pqr.com파일에서 사용할 수 1.txthttp://PQR.com2.txt. http://PQR.com두 파일에서 공통적 인 결과 표시 . 따라서 어떻게하면 흔하지 않은 텍스트 만 표시 할 수 있습니까 (텍스트의 경우에 의존하지 않음)?

무루

이미을 awk사용 tolower하고 있으므로을 사용 하여 줄을 소문자로 지정하십시오.

awk 'FNR==NR {a[tolower($0)]++; next} !a[tolower($0)]' foo bar

그러나 bar이것은에없는 행만 인쇄합니다 foo.

비교 :

$ sort -f bar foo | uniq -iu
http://example.com
http://example1.com
http://seperate.com

를 사용하면 awk한 번만 본 모든 행을 인쇄해야합니다.

$ awk '{a[tolower($0)]++} END {for (i in a) if (a[i] == 1) print i}' foo bar
http://seperate.com
http://example.com
http://example1.com

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관