awkのシリーズ:awkのスクリプト言語を使用する方法
まで最初からawkのシリーズパート12は、我々はいくつかの短いawkのコマンドやプログラムを書くために、すべてのコマンドラインまたはスクリプトファイルです。
しかし、awkはシェルのようなインタプリタ言語です。今学習のシリーズを通して、あなたは今、awkのスクリプトを書くことができ、開始から実行することができます。
そして、ほとんどの次の行で始まるようにシェルスクリプト、awkスクリプトを記述します。
#! /path/to/awk/utility -f
たとえば/ユーザー/ binに/ awkのディレクトリにインストールされ、私のシステムで、awkのツールなので、私のawkスクリプトは、次のように開始します:
#! /usr/bin/awk -f
以上説明し、次のように行:
#!
呼ばれる行(shebang)とリリーススクリプト内のコマンドを実行するインタプリタの使用を示します、/usr/bin/awk
通訳それ-f
インタプリタオプションは、ファイルを読むためのプログラムを指定します
今から次の簡単な例で、と言った、私たちは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
# 这是如何在 awk 中写注释的示例
# 使用特殊模式 BEGIN 来输出一句话
BEGIN { printf "%s\n","Writing my first awk executable script!" }
次は読書ファイルの例を参照してください。(:グループID LCTT注釈)私たちは、コールaaronkilikのユーザーにアカウントファイル/ etc / passwdファイルは、以下のように、この印刷ユーザー名、ユーザーID、ユーザーのGIDを検索します:
ここに私たちのスクリプトファイルの内容は、ファイル名second.awkです。
#! /usr/bin/awk -f
# 使用 BEGIN 指定字符来设定 FS 内置变量
BEGIN { FS=":" }
# 搜索用户名 aaronkilik 并输出账号细节
/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はエントリとして、多くの知識を学んだ全体の13章からあなたを望む、AWKのこのエキサイティングなシリーズの最終回に達しています。
私はあなたがこのような環境変数、配列、関数などのawkプログラミング言語の他の側面の多くを学ぶことができるようにawkは、フルテキスト処理言語で、冒頭で述べた(組み込みまたはユーザ定義)、など。
他のawkプログラミングコンテンツがあります。最後に、私はいくつかの重要なオンラインリソースを提供してきましたリンクは、あなたがあなたのawkプログラミングのスキルを拡大するためにそれらを使用できるよう、学び、マスターする必要があります。しかし、これは必要ありません、あなたはまた、awkの上のいくつかの本を読むことができます。
あなたが任意の考えや質問を共有したい場合は、以下のコメント。私たちの注意を保つことを忘れないでください、よりエキサイティングなコンテンツがあるでしょう。
経由:http://www.tecmint.com/write-shell-scripts-in-awk-programming/
著者:アーロンキリマンジャロの
翻訳:Chunyang-WENは
校正:WXY
ます。https://blog.51cto.com/wutengfei/2402100で再現