OS/Linux

리눅스 cut, sort 명령어

realforce111 2016. 5. 25. 09:41

리눅스의 cut, sort 명령어 사용방법에 대해 알아보겠습니다.

cut 은 파일 내용을 각 필드로 구분하고 필드별로 내용을 추출할 수 있습니다.


cut --help 입력 시 옵션을 확인할 수 있습니다.


-c : 문자 위치 : 추출할 곳의 글자 위치 지정
-f : 필드 : 추출할 필드 번호 지정
-d : 구분자 : 필드를 구분하는 문자를 지정, 디폴트는 탭 문자
-s : 필드 구분자를 포함할 수 없다면 그 행은 미출력


log.txt 파일에 저장된 내용입니다.


cat log.txt | cut -c 1-4 | more 명령어를 입력하면 1번째부터 4번째까지의 문자가 출력됩니다.


cat log.txt | cut -c 1 | more 명령어를 입력하면 1번째 문자만 출력 됩니다.


cat log.txt | cut -f 4 | more 명령어를 입력하면 4번째 필드 policy_id 부분이 출력 됩니다. d 옵션을 주지 않을 경우 디폴트로 탭 문자가 구분자가 됩니다.

cat log.txt | cut -d ' ' -f 4 | more 명령어를 입력하면 -d 옵션으로 ' ' (띄어쓰기)를 구분자로 사용하게 됩니다. 


sort는 내용을 지정한 방법대로 정렬하고 출력합니다. sort --help를 입력하면 사용방법을 확인할 수 있습니다.


-n : 라인의 각 필드를 비교하는 대상을 숫자로 한정
-f : 영어를 정렬할 때, 대소문자 구별 안함
-r : 출력 순서를 역순으로
-b : 앞에 붙는 공백 무시
-t : 필드 구분자 지정
-m : 정렬된 파일을 병합
-u : 정렬 후, 중복행 제거
-o : 저장할 파일명을 명시, 명시하지 않으면 화면에 출력


list.txt 파일의 내용입니다.


sort를 입력하면 오름차순으로 파일 내용이 정렬됩니다.


n 옵션은 숫자를 이용하여 비교할 경우 사용됩니다.

du | sort -n을 입력할 경우 각 디렉터리 별로 파일 크기가 표시되고 파일 크기별로 정렬됩니다.


policyid.txt 파일의 내용입니다.


u 옵션과 함께 사용할 경우 중복된 행을 제거합니다.

sort -u policyid.txt > policyid_list txt