반응형
리눅스에서 텍스트의 각 줄을 특정 구분자를 기준으로 분리하기 위해서는 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
반응형
'서버 운영 > Linux' 카테고리의 다른 글
리눅스 sed 명령어 - 문자열 치환, 특정 문자열 삭제 (0) | 2024.08.13 |
---|---|
Nginx 설정 - Proxy 설정, SSL 설정, 로드밸런싱 설정 (0) | 2024.08.01 |
RHEL 6, RHEL 7 주요 차이점 (0) | 2024.04.09 |
리눅스 오픈 가능한 파일 - Too many open files (0) | 2024.04.09 |
리눅스 LVM (0) | 2024.04.09 |