[Mac] 리눅스 명령어 — 텍스트 처리

Linux commands for Mac

head

문서 내용의 앞부분 출력. (디폴트 10줄)

옵션

-c [num] : 문서의 num byte 만큼 앞부분 출력

-n [num] : 문서의 num line 만큼의 앞부분 출력

tail

문서 내용 뒷부분 출력. (디폴트 10줄)

옵션

-n [num] : 문서의 num line 만큼의 뒷부분 출력

-n +[num] : 문서의 num line 부터 끝까지 출력

-F : 명령어가 끝나지 않고 계속 내용이 추가되길 기다리다가, 추가 되면 append 해서 출력. 로그 파일 작성할때 많이 사용. 파일 내용이 싹 갈아엎어져도 다시 추적한다는 점에서 옵션보다 강력.

는 시스템 관리자가 즐겨 사용하는 유용한 명령어

wc (word count)

문서의 line / word / byte의 개수 출력

옵션

-l : line수만 출력

-L : line 중 가장 긴 문자열의 개수

여러 파일 정보 같이 출력할 수도 있음

nl (numbering lines)

문서 내용을 라인 넘버와 같이 출력

옵션

-ba : 모든 라인에 대해 라인 넘버링 (body numbering all). 즉 공백까지 라인 넘버링

-v [num] : 시작 라인 넘버를 num으로 지정

sort

라인을 정렬해서 출력

옵션

-r : 내림차순 출력 (reverse)

-n : 숫자 기준으로 출력 (numeric) . 문자 기준으로 정렬하면 123 -> 90 이지만, 숫자 기준은 90 -> 123

-u : 똑같은 라인 내용 있을때 하나만 출력 (unique)

-k [num] : num번째 column key을 기준으로 정렬 수행. 기본으로 띄어쓰기에 의해 column 구분. 구분자 지정은 -t 옵션 사용.

: 라인별 띄어쓰기를 기준으로 두번째 column 출력

: 라인별 문자 : 를 기준으로 두번째 column 출력

-f : 대소문자 무시 (ignore case). C a b c -> a b C c

uniq

중복 라인 내용 제거 후 출력. 단 연속적인 라인만 중복으로 인식하기 때문에 sort 랑 같이 많이 쓰임. (우선 정렬 후 uniq 먹임)

옵션

-d : 중복된 라인만 출력 (repeated)

-u : 중복되지 않은 라인만 출력 (unique)

-i : 대소문자 무시 (ignore case)해서 중복 라인 비교

cut

라인별로 잘라낸 특정 내용만 출력.

옵션

-f [num] : num번째 컬럼 선택 (field). 기본으로 tab에 의해 column 구분. 구분자 지정은 -d 옵션 (delimiter) 사용.

: 라인별 기본 tab 기준 구분자로 첫번째 컬럼 출력

: 라인별 띄어쓰기 구분자로 첫번째 컬럼 출력

-b [num] : num번째 byte 선택.

: 라인별 1-4 번째 byte 출력

: 라인별 처음부터 4번째 byte 출력

: 라인별 4번째 부터 마지막 byte 출력

tr (translate)

라인별 내용 변환하기.

: a를 b로 변경해서 출력. | 는 명령어를 이어주는 pipe command

옵션

-d [set] : set에 매치되는 것들을 지우고 출력

: \ 지워서 출력

sed (stream editor)

파일 내용 라인 단위로 수정 가능. (출력, 삭제, 변환 등)

옵션

-n [range]p : range 내의 라인 출력 (print). 만약 -n 옵션 없으면 기본 라인에 추가 출력 됨.

[range]d : range 내의 라인 삭제 (delete) 후 출력

-n /[searchPattern]/p : searchPattern 과 매치되는 라인 출력. 만약 -n 옵션 없으면 매칭된 라인 추가 출력 됨.

/[searchPattern]/d : searchPattern 과 매치되는 라인 삭제 후 출력

s/[regex]/[replace]/g : regex에 매치되는 부분을 replace로 대치 (substitute). 마지막 g 없으면 맨 앞 하나의 regex만 바뀜.

: 모든 hello 를 world 로 바꿔서 출력

출처

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store