2009. 9. 18. 13:57
10. 파일비교 스크립트2
2009. 9. 18. 13:57 in 쉘스크립트
이번에는 두개의 파일이 있고
A 라는 파일은 원본 파일로 데이터량이 많다
B 라는 파일은 A보단 양이 적다.
원하는 것은 A 에서 B 를 제외한 나머지의 데이터를 알고 싶다.
sdiff 라는 것은 아래와 같이 동작한다.
예를 들어 a.txt 에 1부터 8까지 넣고 b.txt 에 1부터 4까지 넣었다면 아래와 같이 나온다.
오른쪽의 < 표시는 a.txt 에는 존재하고 b.txt 에는 존재하지 않는 것이다.
A 라는 파일은 원본 파일로 데이터량이 많다
B 라는 파일은 A보단 양이 적다.
원하는 것은 A 에서 B 를 제외한 나머지의 데이터를 알고 싶다.
#!/bin/bash
A=/user1/si/z_bjh/a.txt
B=/user1/si/z_bjh/b.txt
sdiff $A $B > c.txt
sed -n "/</p" c.txt | awk '{print $1}' > d.txt
A=/user1/si/z_bjh/a.txt
B=/user1/si/z_bjh/b.txt
sdiff $A $B > c.txt
sed -n "/</p" c.txt | awk '{print $1}' > d.txt
sdiff 라는 것은 아래와 같이 동작한다.
두 텍스트 파일을 동시에 같이 보면서 그 차이점을 살펴보려면, 다음과 같이 합니다.
sdiff file1 file2
sdiff 명령은 두 파일을 각각 한 줄씩 서로 비교해 가면서, 두 파일의 내용을 모두 출력합니다.
그 줄이 서로 다른 경우는 | 기호, file1에만 있는 경우는 < 기호, file2에만 있는 경우는 > 기호, 두 줄이 서로 똑 같은 경우는 아무것도 없습니다
sdiff file1 file2
sdiff 명령은 두 파일을 각각 한 줄씩 서로 비교해 가면서, 두 파일의 내용을 모두 출력합니다.
그 줄이 서로 다른 경우는 | 기호, file1에만 있는 경우는 < 기호, file2에만 있는 경우는 > 기호, 두 줄이 서로 똑 같은 경우는 아무것도 없습니다
예를 들어 a.txt 에 1부터 8까지 넣고 b.txt 에 1부터 4까지 넣었다면 아래와 같이 나온다.
오른쪽의 < 표시는 a.txt 에는 존재하고 b.txt 에는 존재하지 않는 것이다.
sdiff a.txt b.txt
1 1
2 2
3 3
4 4
5 <
6 <
7 <
8 <
1 1
2 2
3 3
4 4
5 <
6 <
7 <
8 <
최종 파일 비교 스크립트 -> http://darkrang.tistory.com/219
'쉘스크립트' 카테고리의 다른 글
15. 텍스트 파일 포맷 변경 (2) | 2009.12.22 |
---|---|
14. 지난 파일 압축하고 삭제하기 (2) | 2009.12.18 |
13. 파일 비교 스크립트 4 (2) | 2009.11.05 |
12. 파일 개수 비교해서 삭제하는 스크립트 (3) | 2009.10.21 |
11. SSH 접속 차단 스크립트 ( 5번 패스워드 틀리면 자동 차단) (2) | 2009.09.19 |
9. 여러 파일 하나의 txt 파일로 합치기 스크립트 (3) | 2009.09.10 |
8. 파일 내용 비교1 (3) | 2009.09.10 |
스크립트 문제 (0) | 2009.06.01 |
7. sed 란? (2) | 2009.03.31 |
5. 날짜표시 (date) (0) | 2009.03.05 |