GNU awk
가 특정 length(array)
기능 (및 awk
지원할 수있는 다른 구현)을 지원하고 파일을 정렬 할 경우 필요하지 않은 곳에서 사용합니다.
gawk 'FNR==NR{seen[$0];next} ($0 in seen){delete seen[$0]};
END{print (!length(seen))?"Matched":"Not Matched"}' file2 file1
이것은 판독되는 파일 2을 라는 배열 seen
의 전체 행과 키 파일 2 .
그런 다음 file1을 읽고 배열의 행과 일치하면 각 행에 대해 해당 키를 삭제하십시오.
배열이 비어 있으면 마지막에 file2의 모든 행 이 file1에 존재 하고 인쇄 Matched
되고 그렇지 않으면 표시됩니다 Not Matched
.
모든 awk
구현 에서 호환성 .
awk 'FNR==NR{seen[$0];next} ($0 in seen){delete seen[$0]};
END{for(x in seen);print (!x)?"Matched":"Not Matched"}' file2 file1
file2에있는 경우에만 빈 줄 또는 공백이있는 줄을 무시하려면 배열에서 읽지 않는 NF
조건 을 추가해야합니다 NR==FNR && NF {...
.
file2
2 줄을 포함하는 경우 2 줄 이상을 포함A
해야 합니까?file1
A