[하루 셸 명령] 텍스트 작업 시리즈 - diff

4121 단어 linuxshelldiff
이것 은 또 하나의 문서 비교 명령 으로 숙련 되면 많은 일 을 절약 할 수 있다.comm 명령 기억 나 세 요?diff 는 그 보다 더 복잡 하고 쓰기 좋 으 며 파일 을 비교 할 수 있 을 뿐만 아니 라 디 렉 터 리 도 비교 할 수 있 습 니 다.한 파일 에 여러 버 전이 있 을 때, 혹은 더 복잡 한 파일 이 있 을 때, 디 렉 터 리 를 비교 할 때, comm 보다 더 유용 한 명령 이 있 기 를 기대 할 것 입 니 다. diff 는 바로 이 때문에 생 겨 났 습 니 다. 
다른 파일 
실례:
파일 1: v1. txt
 hello  world v1_echo  v1_diff  v1_comm shell is easy!
파일 2: v2. txt
hello world! v2_echo  v1_diff  easy shell! 
 1. 일반 비교:

  
  
  
  
  1. $diff v1.txt v2.txt  

 1,2c1,2 < hello world < v1_echo --- > hello world! > v2_echo 4c4 < v1_comm --- > easy shell!
비교 의 차 이 를 보 여 줍 니 다. 숫자 는 줄 수 이 고 c 는 compare 입 니 다.
2. 일체화 출력: 

  
  
  
  
  1. $diff -u v1.txt v2.txt &gt; version.patch 

-v1_echo +hello world! +v2_echo v1_diff -v1_comm +easy shell! shell is easy!
"+"는 보충 줄 을 나타 내 고, "-"삭제 줄 을 나타 낸다.
3. 덮어 쓰기 v1. txt 를 업데이트 합 니 다. patch 를 빌 렸 습 니 다.

  
  
  
  
  1. $patch –p1 v1.txt&lt; version.patch 

 4. v1, v2 파일 비교, v2 만 출력

  
  
  
  
  1. $diff -e v1.txt v2.txt 

 4c easy shell! . 1,2c hello world! v2_echo .
 
5. 비교 목록
책 위의 설명 을 빌려 쓰다.
- N 모든 파일 을 빈 파일 로 간주
- a 모든 문서 시 위원회 문서 텍스트
- u 일체화 출력 생 성
- r 디 렉 터 리 에 있 는 모든 파일 옮 겨 다 니 기 
두 디 렉 터 리 의 모든 텍스트 정 보 를 비교 합 니 다.

  
  
  
  
  1. $diff –Naur directory1 directory2 

이 두 목록 이 기본적으로 같다 고 확신 하지 않 으 면 이렇게 사용 하 는 것 을 추천 하지 않 는 다.
 
6. 업무 피로 후, 특히 많은 일 을 동시에 할 때, 업로드 한 적 이 있 는 지, 어떤 디 렉 터 리 에 있 는 파일 을 수정 한 적 이 있 는 지 잊어버린다.이렇게 할 수 있 습 니 다.

  
  
  
  
  1. $diff v1.txt /${dir} 

동명 의 서 류 를 직접 비교 해 보면 강도 높 은 일꾼 들 은 정말 실 감 이 난다 고 믿는다. 
 
읽 어 봐 - help
너무 길 어서 일부분 을 잘라 서 해석 해 보 세 요.
Mandatory arguments to long options are mandatory for short options too. --normal                                        output a normal diff (the default) -q, --brief                                      report only when files differ -s, --report-identical-files               report when two files are the same -c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context -u, -U NUM, --unified[=NUM]     output NUM (default 3) lines of unified context -e, --ed                                          output an ed script -n, --rcs                                         output an RCS format diff -y, --side-by-side                           output in two columns  FILES 의 포맷 은 'FILE 1 FILE 2', 'DIR 1 DIR 2', 'DIR FILE...' 또는 'FILE... DIR' 일 수 있다.   
판독:
1.-q –s
- q: 두 가지 만 다 릅 니 다. "두 파일 이 다르다"는 것 을 알려 줍 니 다.
- s: 두 파일 을 동시에 표시 합 니 다. "두 파일 이 같 습 니 다"
$diff -qs v1.txt v2.txt
(좀 지루 한 명령 )
2. –y
열의 방식 에 따라 출력 하여 직관 성 을 증가 시 켰 다.
 hello world               | hello world! v1_echo                    | v2_echo v1_diff                       v1_diff v1_comm                   | easy shell! shell is easy!               shell is easy!
3. file 뒤의 형식
파일  2. 디 렉 터 리 와 디 렉 터 리  3. 파일 과 디 렉 터 리 4. 디 렉 터 리 와 파일
파일 과 디 렉 터 리 의 형식 을 설명 하고 비교 하 는 것 은 이 디 렉 터 리 에서 파일 과 같은 이름 의 파일 을 비교 하 는 것 입 니 다.
$diff v1. txt  diff/
실제 v1. txt 와 diff/v1. txt 의 비교 입 니 다. 자주 사용 하 는 기능 입 니 다. 
 
대비
비교 파일 에 있어 서, comm 기능 은 비교적 간단 하지만, 매우 직관 적 이 고 편리 하 다.
한편, diff 는 더욱 강력 하고 복잡 한 비교 방식 을 제공 하고 디 렉 터 리 를 비교 하여 디 렉 터 리 를 옮 겨 다 닐 수 있 습 니 다.

좋은 웹페이지 즐겨찾기