본문 바로가기
개발/linux

bash기초 - cut, file, head

by 가시죠 2021. 1. 18.
반응형

cut

파일의 특정 부분을 추출하는 명령으로 주어진 입력 파일을 한행씩 읽으면서 주어진 구분문자(delimiter)를 이용해서 각 행을 여러 필드로 나눈다. 구분 문자가 없으면, 탭 문자로 자동 구분된다. 실행 시 필드번호나 문자위치번호를 지정해서 원하는 부분만 추출이 가능하며, 필드 번호와 문자 위치번호는 1에서 부터 시작한다.

옵션

-c <문자들> : 추출할 하나 이상의 문자를 지정한다.

-d <구분문자> : 필드 구분 문자로 사용할 문자를 지정한다.

-f <필드들> : 추출할 하나 이상의 필드를 지정한다.

예제

cutfile.txt 파일의 내용

11/15/2020 123.456.789.1 aaa.html
11/14/2020 111.222.333.444 bbb.html

$ cut -d ' ' -f2 cutfile.txt

위 명령은 구분자를 공백으로 2번째만 출력이 되므로 아래와 같이 출력된다.

123.456.789.1

111.222.333.444

$ cut -d ' ' -f3 cutfile.txt

3번째만 출력..

aaa.html

bbb.html

2번째와 3번째를 같이 출력하려면..

$ cut -d ' ' -f2-3 cutfile.txt 또는 cut -d ' '-f2,3 cutfile.txt

 

file

파일의 형식을 알려준다. 대부분의 파일 형식이 확장자에 의존하지만 (ex. .txt :텍스트파일, .exe : 실행파일) 그런 제약이 없는 리눅스에서 특히 유용하다.

옵션

-f <파일> : 지정된 파일에 담긴 파일 이름들을 이용해서 각 파일의 형식을 식별한다.

-k  : 주어진 파일과 부합하는 모든 파일 형식을 식별한다.

-z : 압축파일에 담긴 파일들을 식별한다.

예제 (test는 폴더이며, test.txt는 텍스트 파일 일 경우)

$ file test test.txt

test:      directory

test.txt:  ASCII text

 

head

파일의 처음 몇 행 또는 처음 몇 바이트를 출력한다. 특별한 옵션을 지정하지 않으면 head는 처음 열 개의 행을 출력한다.

옵션

-n <N> : 최대 N개의 행을 출력한다. 최대 15개의 행을 출력하려면 -n 15를 입력, -n 옵션은 생략이 가능하다.

-c <N> : 처음 N개의 바이트를 출력한다.

 

반응형

댓글