엑셀 파일 (csv)을 리눅스로 불러오면 아래와 같이 쉼표로 구분된다.
쉼표로 구분된 각각의 열을 필드(field)라고 부른다.
sort 와 cut 모두 필드를 정할 수 있는 옵션이 있다.
하지만 같은 의미인데 알파벳이 달라서 헷갈리는 경우가 많다.
-----------------
Name,Country,Age
James,United States,30
Aleta,Spain,15
Jisu,South Korea,23
wang,China,27
----------------
이런 텍스트 파일에서
첫번째 field는 Name,
두번째 field는 Country,
세번째 field는 Age이다.
필드 구분자는 쉼표 (,)이다.
#cut 명령어로 특정 필드를 자르는 법
Country를 따로 잘라내고 싶으면
cut - d "," -f 2 test.txt
-d: 필드 구분자를 지정한다.
cut의 필드 구분 디폴트 문자는 탭이다.
-f: 자를 필드 번호를 지정한다.
# sort 명령어로 특정 필드 기준으로 정렬하는 법
Age가 작은 순서대로 정렬하고 싶으면
sort -t "," -k 3 test.txt
-t: 필드 구분자를 지정한다.
-k: 자를 필드 번호를 지정한다.
------------------
# 파일의 구분자가 : 일때
Name:Country:Age
James:United States:30
Aleta:Spain:15
Jisu:South Korea:23
wang:China:27
cut - d ":" -f 2 test.txt
sort -t ":" -k 3 test.txt
이렇게 구분자를 :로 바꿔주면 된다.
'Computer Science > [19-상] Linux Bash Script' 카테고리의 다른 글
[Linux_bash] regex: 날짜 형식 바꾸기 (0) | 2020.02.11 |
---|---|
[Linux_bash] regex,grep: 점(.)이 있는 문자열 찾기 (0) | 2020.02.11 |
[Linux_bash] regex: 같은 숫자의 반복 찾기 (0) | 2020.02.05 |
[Linux_bash] nohup: 백그라운드 작업 (0) | 2020.02.02 |
[Linux_bash] sort: 여러가지 방법으로 데이터를 정렬하기 (0) | 2020.02.02 |
댓글