두 파일의 차이점을 별도의 파일로 필터링

두 파일의 차이점을 별도의 파일로 필터링

비교할 파일이 2개 있습니다. 두 파일의 서로 다른 레코드를 두 개의 별도 파일로 전송하고 싶습니다.

파일 1

A|B|C|D

1|2|3|5

E|F|G|H

파일 2

A|B|C|D

1|2|3|4

E|F|I|H

다음과 같이 출력됩니다 ... 파일 3.

1|2|3|5

E|F|G|H

파일 4.

1|2|3|4

E|F|I|H

답변1

를 사용하여 이 작업을 수행할 수 있습니다 comm.

comm file1 file2 -23 > file3
comm file1 file2 -13 > file4

-23"FILE1에 고유한 줄만"을 의미합니다.

-13"FILE2와 관련된 행만"을 의미합니다.

답변2

이 시도,

diff File1 File2 | grep "^<" | sed 's/^< //g' > File3
diff File1 File2 | grep "^>" | sed 's/^> //g' > File4

산출:

cat File3
1|2|3|5
E|F|G|H

cat File4
1|2|3|4
E|F|I|H

관련 정보