본문 바로가기
서버 운영/Linux

리눅스 awk 명령어 - 문자열 분리(특정 구분자로 분리)

by Infralabs 2024. 8. 13.
반응형

리눅스에서 텍스트의 각 줄을 특정 구분자를 기준으로 분리하기 위해서는 cut 명령어, awk 명령어를 활용할 수 있습니다.

이번 게시글에서는 awk 명령어를 통해 문자열을 분리하는 방법에 대해 간단하게 설명하고자 합니다.

awk 명령어를 사용하여 데이터를 필드 단위로 쪼개 각 필드를 쉽게 조작할 수 있습니다. 

 

1. 문자열 분리

awk 는 입력된 텍스트의 각 줄을 기본적으로 공백을 구분자로 하여 여러 필드로 분리합니다.

이 때 필드는 $1, $2 ... 등으로 순번이 매겨지며, 이 변수들을 사용할 수 있습니다. 

 

예시로 다음과 같이 file.txt 라는 텍스트 파일이 있습니다. 

# cat file.txt
Hello Tistory
Hunnie log

명령어 실행 결과

  • 아래 예시는 각 줄을 공백을 기준으로 구분하고, print 명령어와 조합하여 각 필드를 출력하고 있습니다.
  • awk '{print $1}' : 첫 번째 필드를 출력
  • awk '{print $2}' : 두 번째 필드를 출력
# cat file.txt | awk '{print $1}'

Hello
Hunnie

# cat file.txt | awk '{print $2}'

Tistory
log

 

2. 특정 문자로 문자열 분리

  • -F 옵션을 활용하여 공백이 아닌 특정 문자를 구분자로 활용할 수 있습니다. 

예시로 다음과 같이 file.txt 라는 텍스트 파일이 있습니다. 

# cat file.txt
Hello Tistory
Hunnie:log
Blog:Hunnie:log

 

명령어 실행 결과

# cat file.txt | awk -F':' '{print $2}'
Hunnie:log
Blog:Hunnie:log

log
Hunnie
반응형