웹사이트 검색

Linux 초보자를 위한 Linux sdiff 명령 예


이전 기사 중 하나에서 Linux 시스템을 위한 9가지 최고의 파일 비교 및 차이(Diff) 도구에 대해 설명했습니다. 우리는 파일 간의 차이점을 비교하고 찾기 위한 명령줄 도구와 GUI 도구를 혼합하여 나열했으며, 각 도구에는 주목할만한 기능이 있습니다. Linux용 또 다른 유용한 diff 유틸리티는 sdiff입니다.

또한 읽어 보세요: Diff 및 Meld 도구를 사용하여 두 디렉터리 간의 차이점을 찾는 방법

sdiff는 두 파일 간의 차이점을 표시하고 대화형으로 병합하기 위한 간단한 명령줄 유틸리티입니다. 사용하기 쉽고 아래에 설명된 대로 간단한 사용 옵션이 제공됩니다.

sdiff를 사용하는 구문은 다음과 같습니다.

sdiff option... file1 file2

Linux에서 두 파일의 차이점 표시

1. sdiff를 실행하는 가장 쉬운 방법은 비교하려는 두 파일 이름을 제공하는 것입니다. 다음 스크린샷과 같이 병합된 차이가 나란히 표시됩니다.


cal >cal.txt
df -h >du.txt
sdiff du.txt cal.txt

모든 파일을 텍스트 파일로 취급

2. 모든 파일을 텍스트로 처리하고 텍스트 파일인지 여부에 관계없이 한 줄씩 비교하려면 -a 플래그를 사용하세요.

sdiff -a du.txt cal.txt

Filesystem      Size  Used Avail Use% Mounted on	      |	     April 2018       
udev            3.9G     0  3.9G   0% /dev		      |	Su Mo Tu We Th Fr Sa  
tmpfs           788M  9.7M  779M   2% /run		      |	 1  2  3  4  5  6  7  
/dev/sda10      324G  265G   43G  87% /			      |	 8  9 10 11 12 13 14  
tmpfs           3.9G  274M  3.6G   7% /dev/shm		      |	15 16 17 18 19 20 21  
tmpfs           5.0M  4.0K  5.0M   1% /run/lock		      |	22 23 24 25 26 27 28  
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup	      |	29 30                 
/dev/loop2       82M   82M     0 100% /snap/core/4206	      |	                      
/dev/loop4      181M  181M     0 100% /snap/vlc/190	      <
/dev/loop1       87M   87M     0 100% /snap/core/4407	      <
/dev/loop0      189M  189M     0 100% /snap/vlc/158	      <
/dev/loop3       83M   83M     0 100% /snap/core/4327	      <
cgmfs           100K     0  100K   0% /run/cgmanager/fs	      <
tmpfs           788M   40K  788M   1% /run/user/1000	      <

탭과 공백 무시

3. 공백이 너무 많은 파일이 있는 경우 -W 스위치를 사용하여 비교하는 동안 모든 공백을 무시하도록 sdiff에 지시할 수 있습니다.

sdiff -W du.txt cal.txt

4. 또한 -z 옵션을 사용하여 sdiff에 줄 끝의 공백을 무시하도록 지시할 수도 있습니다.

sdiff -z du.txt cal.txt

5. 또한 -E 플래그를 사용하여 탭 확장으로 인한 변경 사항을 무시하도록 sdiff에 지시할 수 있습니다.

sdiff -E du.txt cal.txt

차이점을 비교하는 동안 대소문자 무시

6. 대소문자를 무시하려면(sdiff가 대문자와 소문자를 동일하게 처리하는 경우) 표시된 대로 -i 옵션을 사용하세요.

sdiff -i du.txt cal.txt

차이를 비교하는 동안 빈 줄을 무시하세요

7. -B 옵션은 파일의 빈 줄을 무시하는 데 도움이 됩니다.

sdiff -B du.txt cal.txt

출력할 열 수 정의

8. sdiff를 사용하면 -w<를 사용하여 인쇄할 열 수(기본값은 130)를 설정할 수 있습니다. 스위치는 다음과 같습니다.

sdiff -w 150 du.txt cal.txt

탭을 스페이스로 확장

9. 출력에서 탭을 공백으로 확장하려면 -t 옵션을 사용하세요.

sdiff -t du.txt cal.txt

sdiff를 대화형으로 실행

10. -o 플래그를 사용하면 보다 대화형으로 실행하고 출력을 파일로 보낼 수 있습니다. 이 명령에서 출력은 sdiff.txt 파일로 전송됩니다. % 기호가 표시된 후 Enter를 누르면 대화형 메뉴가 표시됩니다. .

sdiff du.txt cal.txt -o sdiff.txt

Filesystem      Size  Used Avail Use% Mounted on	      |	     April 2018       
udev            3.9G     0  3.9G   0% /dev		      |	Su Mo Tu We Th Fr Sa  
tmpfs           788M  9.7M  779M   2% /run		      |	 1  2  3  4  5  6  7  
/dev/sda10      324G  265G   43G  87% /			      |	 8  9 10 11 12 13 14  
tmpfs           3.9G  274M  3.6G   7% /dev/shm		      |	15 16 17 18 19 20 21  
tmpfs           5.0M  4.0K  5.0M   1% /run/lock		      |	22 23 24 25 26 27 28  
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup	      |	29 30                 
/dev/loop2       82M   82M     0 100% /snap/core/4206	      |	                      
/dev/loop4      181M  181M     0 100% /snap/vlc/190	      <
/dev/loop1       87M   87M     0 100% /snap/core/4407	      <
/dev/loop0      189M  189M     0 100% /snap/vlc/158	      <
/dev/loop3       83M   83M     0 100% /snap/core/4327	      <
cgmfs           100K     0  100K   0% /run/cgmanager/fs	      <
tmpfs           788M   40K  788M   1% /run/user/1000	      <
% 
ed:	Edit then use both versions, each decorated with a header.
eb:	Edit then use both versions.
el or e1:	Edit then use the left version.
er or e2:	Edit then use the right version.
e:	Discard both versions then edit a new one.
l or 1:	Use the left version.
r or 2:	Use the right version.
s:	Silently include common lines.
v:	Verbosely include common lines.
q:	Quit.
%

이 시나리오에서는 ed와 같은 일부 편집기를 사용하기 전에 시스템에 설치해야 합니다.

다른 프로그램을 호출하여 파일 비교

11. --diff-program 스위치를 사용하면 sdiff 자체가 아닌 다른 명령줄 도구를 호출하여 파일을 비교할 수 있습니다. , 표시된 대로 diff 프로그램을 호출할 수 있습니다.

sdiff --diff-program=diff du.txt cal.txt

자세한 내용은 sdiff 매뉴얼 페이지를 참조하세요.

man sdiff

이 문서에서는 초보자를 위한 sdiff 명령줄 도구 예를 살펴보았습니다. 질문이 있는 경우 아래 의견 양식을 사용하여 문의해 주세요.