본문 바로가기
Programming

리눅스 텍스트 데이터 찾기 (AWK)

by 느리게 걷는 즐거움 2024. 4. 15.
728x90
반응형

리눅스 텍스트 데이터 찾기 (AWK)

AWK는 텍스트 처리 및 데이터 추출을 위한 강력한 명령어 중 하나입니다. 이것은 리눅스 및 유닉스 시스템에서 특히 자주 사용됩니다. AWK는 특정 패턴을 찾아서 그에 맞는 작업을 수행하거나 파일의 특정 부분을 추출하는 데 사용됩니다. 이번에는 AWK 명령어의 기본 사용법을 알아보겠습니다.

AWK의 기본 구문

AWK 명령어의 기본 구문은 다음과 같습니다.

awk '패턴 { 액션 }' 파일명
항목 설명
패턴 AWK가 파일에서 찾을 조건을 지정합니다. 이 조건이 참이면 해당 액션을 수행합니다.
액션 지정된 패턴이 발견되었을 때 실행할 명령어나 작업을 지정합니다.
파일명 AWK를 적용할 파일의 이름을 지정합니다.

행 인덱싱: AWK에서는 행을 행 번호로 참조할 수 있습니다. 기본적으로 AWK는 각 줄을 하나의 행으로 처리하며, 이를 $0을 통해 참조할 수 있습니다. 또한, AWK는 특정 행을 선택하기 위해 패턴 매칭을 사용할 수 있습니다.

열 인덱싱: AWK에서는 열을 필드 번호로 참조할 수 있습니다. 각 열은 기본적으로 공백이나 탭으로 구분됩니다. 열 인덱싱은 $1, $2, $3과 같이 사용됩니다. $1은 첫 번째 필드를, $2는 두 번째 필드를 나타냅니다.

주요 기능

AWK는 다양한 기능을 제공합니다. 몇 가지 유용한 기능에 대해 간단히 살펴보겠습니다.

번호 기능
패턴 매칭 특정 패턴에 일치하는 행만 선택합니다.
열 선택 특정 열의 값을 출력하거나 조작합니다.
변수 사용 AWK에서 변수를 사용하여 데이터를 처리하고 저장할 수 있습니다.
사용자 정의 함수 사용자가 자신의 함수를 정의하여 특정 작업을 수행할 수 있습니다.

간단한 예제

간단한 예제로 AWK를 살펴보겠습니다. 예를 들어, 파일 "data.txt"에는 이름과 점수가 다음과 같은 형식으로 저장되어 있다고 가정해 봅시다.

// data.txt 파일

Name Age Gender
John 25 Male
Alice 30 Female
Bob 28 Male


이제 이 파일에서 점수가 90 이상인 학생의 이름을 출력해 보겠습니다.

awk '$2 >= 90 { print $1 }' data.txt

[결과]
Name
Alice

위 명령은 "data.txt" 파일에서 두 번째 열의 값이 90 이상인 경우 첫 번째 열(이름)을 출력합니다.

이제 "Male"이라는 패턴에 일치하는 행만 선택하여 출력하는 AWK 명령어를 사용해 보겠습니다.

awk '/Male/ { print }' data.txt

[결과]
John 25 Male
Bob 28 Male

위 명령어는 "data.txt" 파일에서 "Male"이라는 패턴에 일치하는 행만 선택하고 해당 행을 출력합니다. 결과는 다음과 같습니다.

 

결론

AWK는 텍스트 처리에 매우 유용한 도구입니다. 이를 사용하면 파일에서 데이터를 추출하거나 가공하는 데 매우 강력한 도구로 활용할 수 있습니다. 이 가이드를 통해 AWK의 기본 사용법을 익히고, 효율적인 텍스트 처리에 활용해 보세요.


728x90
반응형

'Programming' 카테고리의 다른 글

CMake로 빌드하기  (0) 2024.05.07
SCP로 원격서버 파일복사  (0) 2024.04.29
소프트웨어 개발에서 Entity란?  (4) 2024.04.08
검색에 잘 노출되는 방법 (sitemap)  (0) 2024.04.08
Python에서 Json파일 읽기  (0) 2024.04.04