비교할 파일이 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