프로그래밍/AWK

AWK의 기본 문법: 내장 함수 완벽 가이드

shimdh 2025. 5. 31. 11:19
728x90

AWK는 데이터 처리와 분석을 위한 강력한 도구로, 내장 함수를 통해 사용자가 복잡한 작업을 간편하게 수행할 수 있도록 돕습니다. 이 블로그 포스트에서는 AWK의 내장 함수에 대해 자세히 알아보고, 각 함수의 사용법과 활용 사례를 소개하겠습니다.

내장 함수의 중요성

AWK의 내장 함수는 특정 작업을 수행하기 위해 미리 정의된 코드 블록으로, 사용자가 직접 구현하지 않고도 쉽게 사용할 수 있습니다. 이러한 함수들은 문자열 처리, 수학 계산, 데이터 변환 등 다양한 기능을 제공하여 데이터 분석을 보다 효율적으로 만들어 줍니다.

1. 내장 함수의 종류

AWK의 내장 함수는 크게 세 가지 범주로 나눌 수 있습니다:

  • 문자열 관련 함수: 텍스트 데이터를 조작하고 변형하는 데 유용한 함수들입니다.
  • 수학 관련 함수: 수치 계산 및 수학적 연산을 수행하는 데 필요한 함수들입니다.
  • 기타 유용한 함수: 시스템 명령어 실행이나 난수 생성 등 다양한 기능을 제공하는 함수들입니다.

2. 문자열 관련 함수

문자열 관련 내장 함수를 사용하면 텍스트 데이터를 쉽게 조작할 수 있습니다. 주요 예시를 살펴보겠습니다.

2.1. length(string)

주어진 문자열의 길이를 반환합니다. 이 함수는 문자열의 길이를 측정하여 데이터의 크기를 파악하는 데 유용합니다.

echo "Hello World" | awk '{ print length($0) }'

이 코드는 "Hello World"라는 문자열의 길이인 11을 출력합니다.

2.2. substr(string, start, length)

주어진 문자열에서 특정 위치부터 지정된 길이만큼 부분 문자열을 추출합니다. 긴 문자열에서 필요한 부분만을 선택적으로 가져오는 데 유용합니다.

echo "Hello World" | awk '{ print substr($0, 7, 5) }'

이 코드는 "World"라는 부분 문자열을 추출하여 출력합니다.

3. 수학 관련 함수

AWK에서는 다양한 수학적 연산을 수행하는 데 유용한 내장 함수를 제공합니다. 이러한 함수들은 데이터 분석 및 계산 작업에서 필수적인 도구로 활용됩니다.

3.1. sqrt(number)

주어진 숫자의 제곱근을 반환합니다. 수학적 계산을 수행할 때 매우 유용합니다.

echo | awk '{ print sqrt(16) }'

이 코드는 4를 출력합니다.

3.2. int(number)

주어진 숫자를 정수로 변환합니다. 소수점을 제거하고 정수 부분만을 필요로 할 때 유용합니다.

echo | awk '{ print int(3.14) }'

이 코드는 3을 출력합니다.

4. 기타 유용한 함수

그 외에도 여러 유용한 기능들이 포함되어 있습니다.

4.1. system(command)

시스템 명령어를 실행하고 그 결과를 반환합니다. 외부 프로그램과의 상호작용을 가능하게 합니다.

BEGIN { system("echo Hello from the shell!") }

위 코드를 실행하면 셸에서 "Hello from the shell!"이라는 메시지가 출력됩니다.

4.2. rand()

무작위 실수 값을 생성하여 반환하는 데 사용됩니다. 난수 생성이 필요한 경우에 유용합니다.

BEGIN { print rand() }

이 코드를 통해 매번 다른 난수를 얻어낼 수 있습니다.

결론

AWK의 내장 함수를 활용하면 복잡한 작업들을 간단하게 수행할 수 있는 장점이 있습니다. 각 내장 함수를 이해하고 적절히 사용하는 것이 효율적인 데이터 처리를 위한 중요한 첫 걸음입니다. 실습과 함께 다양한 예제를 시도해보면서 익숙해지는 것이 좋습니다. 이러한 과정을 통해 AWK의 강력한 기능을 최대한 활용할 수 있을 것입니다.

728x90
댓글수0