> 텍스트 처리 및 검색 > awk

awk: 변수 정의 및 텍스트 처리

awk는 강력한 텍스트 처리 도구이며, -v 옵션은 스크립트 실행 전에 외부 변수를 정의하는 데 사용됩니다. 이 변수들은 awk 스크립트 내에서 접근할 수 있어 유연한 데이터 처리를 가능하게 합니다.

개요

awk는 텍스트 파일에서 패턴을 검색하고, 일치하는 줄에 대해 지정된 작업을 수행하는 강력한 스크립트 언어입니다. 특히 -v 옵션은 awk 스크립트가 실행되기 전에 외부에서 변수를 정의하고 초기화하는 데 사용됩니다. 이를 통해 스크립트의 유연성과 재사용성을 크게 높일 수 있습니다.

주요 특징

  • 외부 변수 정의: 셸 환경에서 awk 스크립트로 변수를 전달합니다.
  • 스크립트 유연성 향상: 스크립트 내용을 변경하지 않고 외부 값으로 동작을 제어합니다.
  • 조건부 처리 및 계산에 활용: 정의된 변수를 조건문이나 계산식에 사용할 수 있습니다.

주요 옵션

awk -v 옵션은 스크립트 실행 전에 변수를 정의하는 데 사용됩니다.

변수 정의

생성된 명령어:

명령어를 조합해 보세요.

설명:

`awk` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

awk -v 옵션을 활용한 다양한 사용 예시입니다.

변수 정의 및 출력

echo "World" | awk -v greeting="안녕하세요" '{print greeting, $0}'

greeting 변수를 '안녕하세요'로 정의하고, 각 줄 앞에 출력합니다.

조건부 처리

echo -e "apple 10\norange 20\nbanana 5" | awk -v min_qty=15 '$2 > min_qty {print $1, "수량 초과"}'

min_qty 변수를 15로 정의하고, 두 번째 필드($2)가 min_qty보다 큰 경우에만 해당 항목과 메시지를 출력합니다.

여러 변수 사용

echo "data" | awk -v name="홍길동" -v age=30 '{print "이름:", name, "나이:", age}'

name과 age 두 개의 변수를 정의하고 스크립트 내에서 사용합니다.

BEGIN 블록에서 변수 사용

awk -v message="시작합니다" 'BEGIN {print message}'

-v로 정의된 변수는 awk 스크립트의 BEGIN 블록에서도 접근 가능합니다.

팁 & 주의사항

-v 옵션을 효과적으로 사용하여 awk 스크립트의 활용도를 높일 수 있습니다.

활용 팁

  • 여러 변수 정의: 여러 개의 -v 옵션을 사용하여 필요한 만큼 변수를 정의할 수 있습니다 (예: `awk -v var1=val1 -v var2=val2 ...`).
  • 문자열 값: 문자열 값에 공백이 포함된 경우, 셸에서 따옴표로 묶어주어야 합니다 (예: `-v msg="Hello World"`).
  • 숫자 값: 숫자 값은 따옴표 없이 직접 지정할 수 있습니다 (예: `-v count=10`).
  • 변수 스코프: -v로 정의된 변수는 awk 스크립트 전체에서 전역적으로 접근 가능하며, 특히 BEGIN 블록에서 초기 설정에 유용합니다.

관련 명령어

기능적으로 유사하거나 함께 자주쓰이는 명령어들입니다.


동일 카테고리 명령어