개요
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 블록에서 초기 설정에 유용합니다.