파일 열 선택을위한 10 가지 실용적인 Linux Cut 명령 예제
Linux 명령 cut은 텍스트 처리에 사용됩니다. 이 명령을 사용하여 열을 선택하여 파일에서 텍스트의 일부를 추출 할 수 있습니다.
이 자습서에서는 일상적인 명령 줄 활동에서 사용할 수있는 잘라 내기 명령의 몇 가지 실용적인 예를 제공합니다.
대부분의 예에서는 다음 테스트 파일을 사용합니다.
$ cat test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.
문자 열 선택
파일에서 원하는 열만 추출하려면 -c 옵션을 사용하십시오. 다음 예는 test.txt 파일의 각 줄에서 두 번째 문자를 표시합니다.
$ cut -c2 test.txtaps
위에서 볼 수 있듯이 문자 a, p, s는 test.txt 파일의 각 줄.
범위를 사용하여 문자 열 선택
문자 범위는-로 구분 된 시작 및 끝 위치를 지정하여 파일에서 추출 할 수도 있습니다. 다음 예제는 test.txt라는 파일에서 각 줄의 처음 3자를 추출합니다.
$ cut -c1-3 test.txtcatcpls
시작 또는 끝 위치를 사용하여 문자 열 선택
-c 옵션을 사용하여 시작 위치 또는 끝 위치를 잘라 내기 명령에 전달할 수 있습니다.
다음은 ‘-‘앞의 시작 위치 만 지정합니다. 이 예는 test.txt 파일에서 각 줄의 세 번째 문자부터 끝까지 추출합니다.
$ cut -c3- test.txtt command for file oriented operations. command for copy files or directories. command to list out files and directories with its attributes.
다음은‘-‘뒤의 끝 위치 만 지정합니다. 이 예는 test.txt 파일에서 각 줄의 시작 부분에서 8자를 추출합니다.
$ cut -c-8 test.txtcat commcp commals comma
숫자를 지정하지 않으면 전체 줄이 인쇄됩니다. 아래와 같이 ‘-‘앞뒤에 있습니다.
$ cut -c- test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.
파일에서 특정 필드 선택
전체 필드를 추출하려는 경우 -f 및 -d 옵션을 결합 할 수 있습니다. -f 옵션은 추출 할 필드를 지정하고 -d 옵션은 입력 파일에서 사용되는 필드 구분 기호를 지정합니다.
다음 예제는 /에서 각 행의 첫 번째 필드 만 표시합니다. 필드 구분 기호를 사용하는 etc / passwd 파일 : (콜론). 이 경우 첫 번째 필드는 사용자 이름입니다. 파일
$ cut -d":" -f1 /etc/passwdrootdaemonbinsyssyncgamesbala
파일에서 여러 필드 선택
파일 또는 stdout에서 둘 이상의 필드를 추출 할 수도 있습니다. 아래 예는 로그인 쉘이 “/ bin / bash”인 사용자의 사용자 이름과 홈 디렉토리를 표시합니다.
$ grep "/bin/bash" /etc/passwd | cut -d":" -f1,6root:/rootbala:/home/bala
필드 범위를 표시하려면 시작 필드를 지정하십시오. 이 예에서는 필드 1 ~ 4, 6 및 7을 선택합니다.
$ grep "/bin/bash" /etc/passwd | cut -d":" -f1-4,6,7root:x:0:0:/root:/bin/bashbala:x:1000:1000:/home/bala:/bin/bash
줄에 구분자가 포함 된 경우에만 필드 선택
/ etc / passwd 예에서 🙁 콜론) 이외의 다른 구분 기호를 전달하면 cut은 전체 행만 표시합니다.
다음 예에서는 구분자를 | (파이프)로 지정했으며, cut 명령은 구분자로 | (파이프)가있는 줄을 찾지 못하더라도 전체 줄을 표시합니다.
$ grep "/bin/bash" /etc/passwd | cut -d"|" -f1root:x:0:0:root:/root:/bin/bashbala:x:1000:1000:bala,,,:/home/bala:/bin/bash
그러나 -s 옵션을 사용하여 지정된 구분 기호가 포함 된 행만 필터링하고 표시 할 수 있습니다.
다음 예제는 cut 명령이 수행하지 않았기 때문에 출력을 표시하지 않습니다. / etc / passwd 파일에서 구분자로 | (파이프)가있는 행을 찾을 수 없습니다.
$ grep "/bin/bash" /etc/passwd | cut -d"|" -s -f1
지정된 필드를 제외한 모든 필드 선택
선택 필드 목록을 보완하려면 –complement 옵션을 사용하십시오.
다음 예제는 필드 7을 제외한 / etc / passwd 파일의 모든 필드
$ grep "/bin/bash" /etc/passwd | cut -d":" --complement -s -f7root:x:0:0:root:/rootbala:x:1000:1000:bala,,,:/home/bala
디스플레이에 대한 출력 구분 기호 변경
기본적으로 출력 구분 기호는 동일합니다. cut -d 옵션에서 지정하는 입력 구분 기호로 사용합니다.
출력 구분 기호를 변경하려면 아래와 같이 –output-delimiter 옵션을 사용하십시오. 이 예에서 입력 구분 기호는 🙁 콜론)이지만 출력 구분 기호는 # (해시)입니다.
$ grep "/bin/bash" /etc/passwd | cut -d":" -s -f1,6,7 --output-delimiter="#"root#/root#/bin/bashbala#/home/bala#/bin/bash
출력 구분 기호를 줄 바꿈으로 변경
이 예에서는 cut 명령 출력의 모든 필드가 별도의 줄에 표시됩니다. 우리는 여전히 –output-delimiter를 사용했지만 값은 $ ‘\ n’로 출력 구분자로 줄 바꿈을 추가해야 함을 나타냅니다.
$ grep bala /etc/passwd | cut -d":" -f1,6,7 --output-delimiter=$"\n"bala/home/bala/bin/bash
결합 다른 Unix 명령 출력으로 잘라 내기
다른 Unix 명령의 stdout과 결합하여 잘라 내기 명령의 힘을 실현할 수 있습니다.
cut 명령의 기본 사용법을 익히면 위에서 설명한대로 cut 명령을 현명하게 사용하여 많은 텍스트 조작 요구 사항을 해결할 수 있습니다.
다음 예제는 ps 명령 출력에서 유용한 정보 만 추출 할 수있는 방법을 나타냅니다. 또한 최종 출력이 cut 명령에 제공되기 전에 grep 및 sed를 사용하여 ps 명령의 출력을 필터링하는 방법도 보여주었습니다.여기에서는 위의 예에서 설명한 잘라 내기 옵션 -d 및 -f를 사용했습니다.
이 기사가 마음에 드 셨다면 ..
|
|