Awk 프로그래밍 언어를 사용하여 스크립트를 작성하는 방법-13 부


Awk 시리즈의 시작부터 Part 12까지, 우리는 각각 명령 줄과 쉘 스크립트에서 작은 Awk 명령과 프로그램을 작성했습니다.

그러나 Awk는 Shell과 마찬가지로 해석 언어이므로이 시리즈의 시작 부분에서 살펴본 모든 내용을 사용하여 이제 Awk 실행 스크립트를 작성할 수 있습니다.

쉘 스크립트를 작성하는 방법과 유사하게 Awk 스크립트는 다음 행으로 시작합니다.

#! /path/to/awk/utility -f 

예를 들어 내 시스템에서 Awk 유틸리티는/usr/bin/awk에 있으므로 다음과 같이 Awk 스크립트를 시작합니다.

#! /usr/bin/awk -f 

위의 줄 설명 :

  1. #! – referred to as Shebang, which specifies an interpreter for the instructions in a script
  2. /usr/bin/awk – is the interpreter
  3. -f – interpreter option, used to read a program file

즉, 이제 Awk 실행 가능 스크립트의 몇 가지 예를 살펴 보겠습니다. 아래의 간단한 스크립트로 시작할 수 있습니다. 자주 사용하는 편집기를 사용하여 다음과 같이 새 파일을 엽니 다.

$ vi script.awk

그리고 아래 코드를 파일에 붙여 넣습니다.

#!/usr/bin/awk -f 
BEGIN { printf "%s\n","Writing my first Awk executable script!" }

파일을 저장하고 종료 한 다음 아래 명령을 실행하여 스크립트를 실행 가능하게 만듭니다.

$ chmod +x script.awk

그런 다음 실행하십시오.

$ ./script.awk
Writing my first Awk executable script!

중요한 프로그래머는 \"주석이 어디에 있습니까?\"라고 물어야합니다. 그렇습니다. Awk 스크립트에 주석을 포함 할 수도 있습니다. 코드에 주석을 작성하는 것은 항상 좋은 프로그래밍 방법입니다.

다른 프로그래머가 코드를 살펴보고 스크립트 또는 프로그램 파일의 각 섹션에서 달성하려는 작업을 이해하는 데 도움이됩니다.

따라서 위의 스크립트에 다음과 같이 주석을 포함 할 수 있습니다.

#!/usr/bin/awk -f 

#This is how to write a comment in Awk
#using the BEGIN special pattern to print a sentence 

BEGIN { printf "%s\n","Writing my first Awk executable script!" }

다음으로 파일에서 입력을 읽는 예를 살펴 보겠습니다. "계정 파일/etc/passwd에서 aaronkilik이라는 시스템 사용자를 검색하고 다음과 같이 사용자 이름, 사용자 ID 및 사용자 GID를 인쇄하려고합니다.

다음은 second.awk라는 스크립트의 내용입니다.

#! /usr/bin/awk -f 

#use BEGIN sepecial character to set FS built-in variable
BEGIN { FS=":" }

#search for username: aaronkilik and print account details 
/aaronkilik/ { print "Username :",$1,"User ID :",$3,"User GID :",$4 }

파일을 저장하고 종료하고 스크립트를 실행 가능하게 만들고 아래와 같이 실행하십시오.

$ chmod +x second.awk
$ ./second.awk /etc/passwd
Username : aaronkilik User ID : 1000 User GID : 1000

아래의 마지막 예에서 do while 문을 사용하여 0부터 10까지의 숫자를 출력합니다.

다음은 do.awk라는 스크립트의 내용입니다.

#! /usr/bin/awk -f 

#printing from 0-10 using a do while statement 
#do while statement 
BEGIN {
#initialize a counter
x=0

do {
    print x;
    x+=1;
}
while(x<=10)
}

파일을 저장 한 후 이전에했던 것처럼 스크립트를 실행 가능하게 만드십시오. 그런 다음 실행하십시오.

$ chmod +x do.awk
$ ./do.awk
0
1
2
3
4
5
6
7
8
9
10

요약

우리는이 흥미로운 Awk 시리즈의 마지막에 이르렀습니다. 여러분이 Awk 프로그래밍 언어에 대한 소개로서 13 개 부분 모두에서 많은 것을 배웠기를 바랍니다.

처음부터 언급했듯이 Awk는 완전한 텍스트 처리 언어이므로 환경 변수, 배열, 함수 (내장 및 사용자 정의) 등 Awk 프로그래밍 언어의 다른 측면을 더 많이 배울 수 있습니다.

Awk 프로그래밍의 추가 부분은 배우고 숙달해야합니다. 따라서 아래에서 Awk 프로그래밍 기술을 확장하는 데 사용할 수있는 중요한 온라인 리소스에 대한 링크를 제공했습니다. 이것들이 반드시 필요한 것은 아닙니다. 유용한 Awk 프로그래밍 책을 찾으십시오.

참조 링크 : GNU Awk 사용자 가이드 및 AWK 언어 프로그래밍

공유하고 싶은 생각이나 질문이 있으면 아래 의견 양식을 사용하십시오. 더 흥미 진진한 시리즈를 위해 항상 Tecmint에 연결되어 있어야합니다.