コンテンツにスキップ

AWK

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Awkから転送)
AWK
AWK
AWKのロゴ
登場時期
  • 1977年 ウィキデータを編集
開発者 アルフレッド・エイホ ウィキデータを編集
最新リリース IEEE Std 1003.1-2008 /
影響を受けた言語 SNOBOLBourne Shell ウィキデータを編集
テンプレートを表示

AWK[1][2][3] UNIX

[]


AWKUNIXsedgrep1977[4]UNIX sort [4]

AWK1985[4]使CSV使

AWK3AWK[ 1] awkUnixOSPlan 9AWK

AWK[]

[]


AWK BEGIN 1調 END1



使 arr[x, y]SUBSEPU+001C <control-001C>


BEGIN {
    開始時処理
}
パターン1 {
    アクション1
}
パターン2 {
    アクション2
}
……
# コメント
END {
    終了時処理
}

BEGINENDアクションは必須ではない。

例として、テキストファイル内の全ての行のうち、空行の数と「林檎」・「りんご」または「リンゴ」という文字列を含む行の数をそれぞれ出力するAWKプログラムを示す。

BEGIN {
    # 行の個数を表わす変数を宣言・初期化
	blank_line = 0
	bol_apple = 0
}

/^$/ {
	++blank_line
}

/(林檎|りんご|リンゴ)/ {
	++bol_apple
}

END {
	print "空行は" blank_line "行です。"
	print "「林檎」・「りんご」または「リンゴ」という文字列を含むのは" bol_apple "行です。"
}

AWK0""BEGIN


/開始パターン/,/終了パターン/ {
    アクション
}

例えば、以下のようなプログラムは、「<script>」を含む行から「</script>」を含む行まで(その行自身を含む)の間、指定されたアクションが実行する(この場合は単に行全体を出力する)。

/<script>/,/<\/script>/ {
    print $0;
}

変数[編集]


AWK使AWK

AWK
a = "01"
b = 2
d = a + b
e = a + b + c

de3

便

x + 00x """"

[]


AWK使


function 関数名 (引数1, 引数2, ……)
{
   命令文1
   命令文2
   ……
}

AWK使AWK使
function 関数名 (引数1, 引数2, 引数3, 局所変数1, 局所変数2, ……)
{
   ……
}

3使局所変数1
function 関数名 (引数1, 引数2, 引数3,
局所変数1, 局所変数2, ……)
{
   ……
}


[]


AWK

if


if () 式が真の時に実行される文

if () 式が真の時に実行される文 else 式が偽の時に実行される文

for/while


for (初期化式; 条件式; 更新式) 実行される文

for (変数 in 配列) 実行される文

while () 実行される文

do 実行される文 while ()

break

continue




next



nextfile



return



exit





{1; 2; ……; n}

print

printf

delete


AWK[]


AWKUNIX GNU AWKgawk



19701980V7UNIXUNIXen:The Unix Programming Environment4.4使[5]

nawk

1980SVR3UNIX[5]nawknew awkone true awkBSD UNIX toolFreeBSD5/usr/bin/awk[6] FreeBSDNetBSDOpenBSDmacOSillumosAndroid 使

gawk

GNUAWKGNU/LinuxawkPOSIX 1003.2AWK


jgawk

gawk  gawk 


mawk

: Mike Brennanawkgawk


mawk MBCS

:Brucemawk

標準
AWKはawk(1)としてIEEE Std 1003.1-2017で標準化されている[7]。また、Linux Standard Baseでも指定コマンドになっている[8]

脚注[編集]

注釈[編集]

  1. ^ たとえばカーニハンによる『プログラミング言語AWK』の日本語版序文に見られる。なお、同書の表紙にはオオウミガラス: great auk)が描かれており、これもその主張の強調である。

出典[編集]



(一)^ AWK().  Google. 2024717

(二)^ awk Aho Kerninghan Weinberger. IT. 2024717

(三)^  awk .  ITmedia. 2024717

(四)^ abc,  &  1989, pp. x-xi, §.

(五)^ ab,  & 西 1993, p. 43.

(六)^   https://github.com/onetrueawk/awk

(七)^ awk.  IEEE  The Open Group (2013). 20181014

(八)^ Relevant Commands.  Linux Foundation (2015). 20181014

[]


AWK
(一)  AWK198911ISBN 4-8101-8008-5  - AWK bookAWK CK&R退

(二)ABP  AWK20012ISBN 4901280406  -  1989

(三)ABP  AWK20042ISBN 4-7753-0249-3  - 3

(四)ABP  AWK20101ISBN 978-4-904807-00-2  - 3

西AWK256使19933ISBN 4-7561-0162-3  - 256AWK256

Dale Dougherty  sed & awk  199710ISBN 4-900900-58-3 

Arnold Robbins  sed & awk 20007ISBN 4-87311-017-3 

[]


sed

Perl

Ruby

[]


Effective AWK Programming - A User's Guide for GNU Awk 

AWK      

aaa - the Amazing Awk Assembler by Henry Spencer

awk(1)  Linux User Commands Manual (en)