GAWK(1) GAWK(1) gawk - gawk [ POSIX GNU ] -f - [ -- ] ... gawk [ POSIX GNU ] [ -- ] - ... . gawk Texinfo https://www.gnu.org/software/gawk/manual. Info info(1). Texinfo Texinfo . Info HTML PDF Texinfo . gawk . Gawk GNU AWK. POSIX 1003.1. AWK Aho Kernighan Weinberger. Gawk awk GNU. gawk AWK ( -f --include) AWK ARGC ARGV. . GAWK: AWK . . Gawk POSIX GNU. POSIX "-" "--". GNU POSIX. Gawk . = . . #! . Gawk . gawk . -f - --file - AWK - . -f . -f @namespace "awk" . -F fs --field-separator fs fs ( FS). -v var=val --assign var=val val var . BEGIN AWK. -b --characters-as-bytes . --posix . -c --traditional . gawk awk GNU . -C --copyright GNU . -d[] --dump-variables[=] . awkvars.out . -D[] --debug[=] AWK. ( ). . gawk AWK . Gawk AWK -f --include. GAWK: AWK https://www.gnu.org/software/gawk/manual/html_node/Debugger.html#Debugger. -e - --source - - AWK. -e @namespace "awk" . -E --exec -f . #! CGI (!) URL. . -g --gen-pot AWK GNU .pot ( ) . . -h --help . GNU . -i - --include - awk. AWKPATH. .awk. ( ) . --include @namespace "awk" . -I --trace . . " " + . -k --csv CSV. . -l lib --load lib gawk lib. AWKLIBPATH. . dl_load(). -L [] --lint[=] AWK . https://www.gnu.org/software/gawk/manual/html_node/Options.html#Options . -M --bignum . gawk GNU MPFR GMP. ( gawk ). : . gawk . gawk. -n --non-decimal-data . ! -N --use-lc-numeric gawk . -o[] --pretty-print[=] . awkprof.out . --no-optimize. -O --optimize gawk . . -p[-] --profile[=-] -. awkprof.out . . Gawk . --no-optimize. -P --posix . -r --re-interval . . -s --no-optimize gawk . -S --sandbox gawk (sandbox) system() getline print printf . ( ). -t --lint-old awk UNIX. -V -- gawk . . GNU . -- . AWK "-". . AWK ARGV . POSIX -W . AWK AWK - . @include "-" @nsinclude "-" @load "-" @namespace "" { } function ( ) { } Gawk - --source . -f --source . Gawk - . @include . --include. @nsinclude . awk . @load . --load. AWKPATH -f --include. ".:/usr/local/share/awk". ( gawk.) -f "/" . AWKLIBPATH --load. "/usr/local/lib/gawk". ( gawk.) Gawk AWK . -v. gawk . gawk () BEGIN ( ) ARGV ( ARGV[ARGC-1]). gawk . var=val . var val. ( () BEGIN.) ARGV ("") gawk. BEGINFILE gawk . gawk ENDFILE . gawk AWK. gawk . . gawk () END ( ). POSIX awk . " " . awk . gawk . --posix --traditional gawk . AWK . . gawk . AWK . gawk . . . RS. https://www.gnu.org/software/gawk/manual/html_node/Records.html . gawk FS . FIELDWIDTHS FPAT . https://www.gnu.org/software/gawk/manual/html_node/Fields.html. : $1 $2 . $0 . NF . ( $NF) (null). ( $(NF+2) = 5) NF $0 OFS. . NF $0 OFS. $0. $0 . (CSV) -k --csv gawk . . . https://www.gnu.org/software/gawk/manual/html_node/Comma-Separated-Fields.html . Gawk . . https://www.gnu.org/software/gawk/manual/html_node/Built_002din-Variables. ARGC . ARGIND ARGV . ARGV . 0 ARGC - 1. BINMODE POSIX "" . https://www.gnu.org/software/gawk/manual/html_node/PC-Using.html . CONVFMT "%.6g" . ENVIRON . . ERRNO getline getline close() ERRNO . . FIELDWIDTHS . gawk FS . . FILENAME . FILENAME "-". FILENAME BEGIN ( getline). FNR . FPAT . gawk FS . FS . https://www.gnu.org/software/gawk/manual/html_node/Field-Separators.html . FUNCTAB . : delete FUNCTAB. IGNORECASE . https://www.gnu.org/software/gawk/manual/html_node/Case_002dsensitivity.html . LINT --lint AWK. NF . NR . OFMT "%.6g" . OFS . ORS . PREC 53 . PROCINFO AWK . https://www.gnu.org/software/gawk/manual/html_node/Auto_002dset . ROUNDMODE "N" (IEEE-754 roundTiesToEven). https://www.gnu.org/software/gawk/manual/html_node/Setting-the-rounding-mode . RS . RT . Gawk RT RS. RSTART match() 0 . RLENGTH match() -1 . SUBSEP "\034". SYMTAB . delete SYMTAB . TEXTDOMAIN AWK . ([ ]). ( ...) () SUBSEP. . : i = "A"; j = "B"; k = "C" x[i, j, k] = "hello, world\n" "hello, world\n" x "A\034B\034C". AWK . in : if (val in array) print array[val] (i, j) in array. in for . (i, j) in array for. delete. delete . gawk . <<>> C ++C. https://www.gnu.org/software/gawk/manual/html_node/Arrays . Gawk AWK . (::). . ( ) <<>> awk. awk . @namespace "". . gawk . https://www.gnu.org/software/gawk/manual/html_node/Namespaces.html#Namespaces. ( ) . . . . . "" ( ). strtod(3). CONVFMT sprintf(3) . AWK . Gawk : . << >> . . . "57" . << >> getline FILENAME ARGV ENVIRON split() patsplit() . . C AWK . 011 9 0x11 17 . AWK ( ""). C. https://www.gnu.org/software/gawk/manual/html_node/Escape-Sequences . ( //). ( /[ \t\f\n\r\v]/ ). Gawk . @ ( : @//). ( ) . . AWK . . { }. . . { print } . # . . { ? : && ||. do else . <<\>> . <<\>> # . <<;>>. - ( ) - . AWK : BEGIN END BEGINFILE ENDFILE / / && || ? : () ! 1, 2 BEGIN END . BEGIN BEGIN . . END ( exit). BEGIN END . BEGIN END. BEGINFILE ENDFILE . BEGINFILE ERRNO . nextfile . gawk . / / . egrep(1). https://www.gnu.org/software/gawk/manual/html_node/Regexp.html . . . && || ! <<>> <<>> <<>> C. (short-circuit) C . . ?: C. . . 1, 2 . 1 2 . . { }. . / C. AWK : (...) $ . ++ -- . ^ (). + - ! . * / % . + - . space . | |& / getline print printf. < > <= >= == != . ~ !~ . in . && <<>> . || <<>> . ?: C. 1 ? 2 : 3. 1 2 3. 2 3. = += -= *= /= %= ^= . : ( = ) ( ). : if () [ else ] while () do while () for (1; 2; 3) for ( in ) break continue delete [] delete exit [ ] { } switch () { case |_ : ... [ default: ] } / / : close( [, ]) . . "to" "from". getline $0 NF NR FNR RT. getline < $0 NF RT. getline NR FNR RT. getline < RT. | getline [] $0 RT. |& getline [] $0 RT. ( . .) fflush([]) . . next . AWK. () END. nextfile . . FILENAME ARGIND FNR 1 AWK. () ENDFILE END. print . ORS. print expr-list . OFS. ORS. print expr-list >file file. OFS. ORS. printf fmt, expr-list . printf fmt, expr-list >file file. system(cmd-line) cmd-line . ( POSIX.) https://www.gnu.org/software/gawk/manual/html_node/I_002fO-Functions.html#I_002fO-Functions . print printf. print ... >> file file. print ... | command . print ... |& command . ( Special File Names .) getline 1 -1 . errno(3) / PROCINFO["input", "RETRY"] -2 -1 getline. ERRNO . : . getline print printf close() . AWK (EOF). AWK printf sprintf() C. https://www.gnu.org/software/gawk/manual/html_node/Printf.html. / print printf getline gawk . gawk ( ). . : - . /dev/stdin . /dev/stdout . /dev/stderr . /dev/fd/n n. |& TCP/IP: /inet/tcp/lport/rhost/rport /inet4/tcp/lport/rhost/rport /inet6/tcp/lport/rhost/rport TCP/IP lport rhost rport. 0 . /inet4 IPv4 /inet6 IPv6. /inet ( IPv4). / |&. /inet/udp/lport/rhost/rport /inet4/udp/lport/rhost/rport /inet6/udp/lport/rhost/rport UDP/IP TCP/IP. UDP . AWK : atan2(y, x) y/x . cos(expr) expr . exp(expr) . int(expr) . log(expr) . rand() N 0 <= N < 1. sin(expr) expr . sqrt(expr) expr. srand([expr]) expr . expr . . Gawk https://www.gnu.org/software/gawk/manual/html_node/String-Functions. asort(s [, d [, how] ]) s. s gawk s 1. d s d d s . how . how https://www.gnu.org/software/gawk/manual/html_node/String-Functions.html#String-Functions. s d . asorti(s [, d [, how] ]) s. asort() (indices) . . . how asort(). s d . gensub(r, s, h [, t]) t r. h g G r s. h r . t $0 . s \n n 1 9 n. \0 &. sub() gsub() . gsub(r, s [, t]) r t s . t $0. & . \& & . ( "\\&" https://www.gnu.org/software/gawk/manual/html_node/Gory-Details.html#Gory-Details (ampersands) sub() gsub() gensub().) index(s, t) t s t . ( .) length([s]) s $0 s. length() . match(s, r [, a]) s r r RSTART RLENGTH. ~: str ~ re. https://www.gnu.org/software/gawk/manual/html_node/String-Functions.html#String-Functions a . patsplit(s, a [, r [, seps] ]) s a seps r . s r. seps[i] ( ) a[i]. seps[0] ( ). r FPAT . a seps . FPAT. split(s, a [, r [, seps] ]) s a seps r . r FS . a seps . seps[i] r a[i] a[i+1]. . sprintf(fmt, expr-list) expr-list fmt . strtonum(str) str . str 0 . 0x 0X . . sub(r, s [, t]) gsub() . . substr(s, i [, n]) n s i. n s. tolower(str) str str . . toupper(str) str str . . Gawk . index() length() substr() match() . Gawk . https://www.gnu.org/software/gawk/manual/html_node/Time-Functions. mktime(datespec [, utc-flag]) datespec systime() . utc-flag UTC . datespec mktime() -1. https://www.gnu.org/software/gawk/manual/html_node/Time-Functions.html#Time-Functions datespec. strftime([ [, _[, _utc]]]) _ . _utc UTC . _ systime(). _ . date(1). PROCINFO["strftime"]. strftime() ISO C . systime() (1970-01-01 00:00:00 UTC POSIX). Gawk . uintmax_t . . : and(v1, v2 [, ...]) AND (bitwise) . . compl(val) (bitwise complement) val. lshift(val, count) val count . or(v1, v2 [, ...]) OR . . rshift(val, count) val count . xor(v1, v2 [, ...]) XOR . . . isarray(x) (true) x (false) . typeof(x) x. "array" "number" "regexp" "string" "strnum" "unassigned" "untyped". AWK . https://www.gnu.org/software/gawk/manual/html_node/I18N-Functions.html#I18N-Functions. bindtextdomain( [, ]) gawk .gmo "". "" . TEXTDOMAIN. ("") bindtextdomain() . dcgettext( [, [, ]]) . TEXTDOMAIN. "LC_MESSAGES". dcngettext(1, 2, [, [, ]]) 1 2 . TEXTDOMAIN. "LC_MESSAGES". (Boolean) . mkbool() . . AWK : function ( ) { } . . . . . : function f(p, q, a, b) # a b { ... } /abc/ { ... ; f(1, 2) ; ... } . . (recursive). . return . . . . @ : function myfunc() { print " myfunc" ... } { ... the_func = "myfunc" @the_func() # myfunc the_func ... } --lint gawk . . C ++C gawk @load. https://www.gnu.org/software/gawk/manual/html_node/Dynamic-Extensions.html#Dynamic-Extensions. gawk . SIGUSR1 awkprof.out --profile. . SIGHUP gawk . . AWK . AWK ("_"). gawk 'BEGIN { print "hello, world" }' hello, world. gawk 'BEGIN { print _"hello, world" }' bonjour, monde . https://www.gnu.org/software/gawk/manual/html_node/Internationalization.html#Internationalization AWK . GNU Gawk POSIX awk. https://www.gnu.org/software/gawk/manual/html_node/POSIX_002fGNU.html. gawk --traditional --posix. AWKPATH gawk -f --file -i --include @include @nsinclude. .awk . AWKLIBPATH gawk -l --load. GAWK_PERSIST_FILE . GAWK: AWK . GAWK_READ_TIMEOUT . GAWK_SOCK_RETRIES GAWK_MSEC_SLEEP . . usleep(3) . POSIXLY_CORRECT gawk --posix . --lint gawk . exit gawk . gawk C EXIT_SUCCESS. . gawk C EXIT_FAILURE. . gawk 2. POSIX EXIT_FAILURE. gawk 5.4. UNIX awk Alfred Aho Peter Weinberger Brian Kernighan Bell. Ozan Yigit. Brian Kernighan . Paul Rubin Jay Fenlason gawk awk UNIX. John Woods . David Trueman Arnold Robbins gawk UNIX awk. Arnold Robbins. GAWK: AWK gawk . README gawk . gawk gawkbug(1) . https://www.gnu.org/software/gawk/manual/html_node/Bugs.html. . . . awk gawk help-gawk@gnu.org . -F . gawk . egrep(1) sed(1) gawkbug(1) printf(3) strftime(3). AWK Alfred V. Aho Brian W. Kernighan Peter J. Weinberger Addison-Wesley 2023. 9-780138-269722 ISBN. GAWK: AWK 5.3 gawk. https://www.gnu.org/software/gawk/manual. GNU gettext https://www.gnu.org/software/gettext. : BEGIN { FS = ":" } { print $1 | "sort" } : { nlines++ } END { print nlines } : { print FNR, $0 } ( ): { print NR, $0 } : tail -f access_log | awk '/myhome.html/ { system("nmap " $1 ">> logdir/myhome.html") }' (C) 1989 1991 1992 1993 1994 1995 1996 1997 1998 1999 2001 2002 2003 2004 2005 2007 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 (Free Software Foundation, Inc.) . . . 3 . . : . 10 2026 GAWK(1)