cut,awk(맛보기)

박태영·2024년 4월 6일
0

cut

  • 문자열을 형식에 맞게 잘라 가져오는 명령어
date | cut -d" " -f4
6일
  • d 옵션 뒤에 문자열을 주면 기본 구분자 대신 해당 문자열로 타겟 문자열을 나눈다

  • f 옵션 뒤에 숫자를 주면 나누어진 문자열을 순서대로 하나씩 가져올 수 있다

  • b 옵션을 주면 바이트 단위로 가져온다

  • c 옵션을 주면 문자 단위로 가져온다

  • b,c 옵션의 범위 지정

    • N : N 번째
    • N- : N 번째 부터 끝까지
    • N-M: N 번째 부터 M까지
    • -M : 첫번째 부터 M까지
echo {A..Z} |tr -d " "|cut -c1,2,3
ABC
echo {A..Z} |tr -d " "| cut -c1-10
ABCDEFGHIJ
echo {A..Z} |tr -d " "| cut -c10- 
JKLMNOPQRSTUVWXYZ
echo {A..Z} |tr -d " "| cut -b10- 
JKLMNOPQRSTUVWXYZ

☆ {A..Z} 는 대문자 A부터 Z까지 출력해준다
☆ tr 명령어는 {A..Z}로 출력된 문자열 사이에 존재하는 빈칸을 제거시켜 준다.

  • 한계
who
nayuta           console       3 28 11:25  
nayuta           ttys010       3 29 11:47  
nayuta           ttys011       4  6 12:41 

who | cut -d' ' -f1
nayuta
nayuta
nayuta
d11% who | cut -d' ' -f2
  • 위에 코드에서 두번째 필드를 cut 명령어로 가져오려고 하지만 한계가 있음
  • 또한 잘라온 필드의 순서를 변경할 수 없음

awk

  • 텍스트 파일에서 패턴을 찾고 해당 패턴에 대한 특정 작업을 수행하는데 사용되는 강력한 명령어이자 프로그래밍 언어

d11% who | awk '{print $1}'   
nayuta
nayuta
nayuta
d11% who | awk '{print $2}'
console
ttys010
ttys011
  • 해당 명령어를 쓰면 패턴으로 필드 구분이 가능하고 순서를 변경할 수도 있다
profile
어른 아이

0개의 댓글