ืื ื’ืœื™ืชืฆืจืคืชื™ืชืกืคืจื“ื™

ืกืžืœ OnWorks

mawk - ืžืงื•ื•ืŸ ื‘ืขื ืŸ

ื”ืคืขืœ mawk ื‘ืกืคืง ืื™ืจื•ื— ื‘ื—ื™ื ื ืฉืœ OnWorks ืขืœ ืื•ื‘ื•ื ื˜ื• ืžืงื•ื•ืŸ, ืคื“ื•ืจื” ืžืงื•ื•ืŸ, ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ Windows ืื• ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ MAC OS

ื–ื”ื• ื”ืคืงื•ื“ื” mawk ืฉื ื™ืชืŸ ืœื”ืคืขื™ืœ ื‘ืกืคืง ื”ืื™ืจื•ื— ื”ื—ื™ื ืžื™ ืฉืœ OnWorks ื‘ืืžืฆืขื•ืช ืื—ืช ืžืชื—ื ื•ืช ื”ืขื‘ื•ื“ื” ื”ืžืงื•ื•ื ื•ืช ื”ืžืจื•ื‘ื•ืช ืฉืœื ื•, ื›ื’ื•ืŸ Ubuntu Online, Fedora Online, ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ Windows ืื• ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ MAC OS

ืชึธื›ึฐื ึดื™ืช:

ืฉืึตื


mawk - ืฉืคืช ืกืจื™ืงืช ื“ืคื•ืกื™ื ื•ืขื™ื‘ื•ื“ ื˜ืงืกื˜

ืชึทืงืฆึดื™ืจ


ืžืื•ืง [-W ืื•ึนืคึผึฐืฆึดื™ึธื”] [-F ืขืจืš] [-v var=ืขืจืš] [--] 'ื˜ืงืกื˜ ืชื•ื›ื ื™ืช' [ืงื•ื‘ืฅ ...]
ืžืื•ืง [-W ืื•ึนืคึผึฐืฆึดื™ึธื”] [-F ืขืจืš] [-v var=ืขืจืš] [-f ืžืกืžืš ืชื•ื›ื ื™ืช] [--] [ืงื•ื‘ืฅ ...]

ืชื™ืื•ืจ


ืžืื•ืง ื”ื•ื ืžืชื•ืจื’ืžืŸ ืœืฉืคืช ื”ืชื›ื ื•ืช AWK. ืฉืคืช AWK ืฉื™ืžื•ืฉื™ืช ืขื‘ื•ืจ
ืžื ื™ืคื•ืœืฆื™ื” ืฉืœ ืงื‘ืฆื™ ื ืชื•ื ื™ื, ืื—ื–ื•ืจ ื•ืขื™ื‘ื•ื“ ื˜ืงืกื˜, ื•ื›ืŸ ืขื‘ื•ืจ ืื‘ ื˜ื™ืคื•ืก ื•
ืœื”ืชื ืกื•ืช ื‘ืืœื’ื•ืจื™ืชืžื™ื. ืžืื•ืง ื”ื•ื ื—ื“ืฉ awk ื›ืœื•ืžืจ ื”ื•ื ืžื™ื™ืฉื ืืช ืฉืคืช AWK
ื›ื”ื’ื“ืจืชื ื‘-Aho, Kernighan ื•-Weinberger, ื”ืฉืžื™ื™ื AWK ืชื›ื ื•ืช ืฉืคื”, ืื“ื™ืกื•ืŸ-ื•ืกืœื™
ื”ื•ืฆืื” ืœืื•ืจ, 1988. (ื™ืงืจื ืœื”ืœืŸ ืกืคืจ AWK.) ืžืื•ืง ืชื•ืื ืืช ื”-Posix
ื”ื’ื“ืจื” 1003.2 (ื˜ื™ื•ื˜ื” 11.3) ืฉืœ ืฉืคืช AWK ื”ืžื›ื™ืœื” ื›ืžื” ืชื›ื•ื ื•ืช ืฉืื™ื ืŸ
ื”ืžืชื•ืืจ ื‘ืกืคืจ AWK, ื• ืžืื•ืง ืžืกืคืง ืžืกืคืจ ืงื˜ืŸ ืฉืœ ื”ืจื—ื‘ื•ืช.

ืชื•ื›ื ื™ืช AWK ื”ื™ื ืจืฆืฃ ืฉืœ ื“ืคื•ืก {ืคืขื•ืœื”} ื–ื•ื’ื•ืช ื•ื”ื’ื“ืจื•ืช ืคื•ื ืงืฆื™ื•ืช. ืงืฆืจ
ืชื•ื›ื ื™ื•ืช ืžื•ื–ื ื•ืช ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื” ื”ืžื•ืงืคืช ื‘ื“ืจืš ื›ืœืœ ื‘' ' ื›ื“ื™ ืœืžื ื•ืข ืžืขื˜ืคืช
ืคืจืฉื ื•ืช. ื ื™ืชืŸ ืœืงืจื•ื ืชื•ื›ื ื™ื•ืช ืืจื•ื›ื•ืช ื™ื•ืชืจ ืžืงื•ื‘ืฅ ืขื ื”ืืคืฉืจื•ืช -f. ื ืชื•ื ื™ื
ื”ืงืœื˜ ื ืงืจื ืžืจืฉื™ืžืช ื”ืงื‘ืฆื™ื ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื” ืื• ืžืงืœื˜ ืจื’ื™ืœ ื›ืืฉืจ
ื”ืจืฉื™ืžื” ืจื™ืงื”. ื”ืงืœื˜ ืžื—ื•ืœืง ืœืจืฉื•ืžื•ืช ื›ืคื™ ืฉื ืงื‘ืข ืขืœ ื™ื“ื™ ืžืคืจื™ื“ ื”ืจืฉื•ืžื•ืช
ืžืฉืชื ื”, RS. ื‘ื”ืชื—ืœื”, RS = "\n" ื•ืจืฉื•ืžื•ืช ื”ืŸ ืฉื ื ืจื“ืฃ ืœืฉื•ืจื•ืช. ื›ืœ ืฉื™ื ื”ื•ื
ืœืขื•ืžืช ื›ืœ ืื—ื“ ื“ืคื•ืก ื•ืื ื–ื” ืชื•ืื, ื˜ืงืกื˜ ื”ืชื•ื›ื ื™ืช ืขื‘ื•ืจ {ืคืขื•ืœื”} is
ื™ืฆื ืœืคื•ืขืœ.

ืืคืฉืจื•ื™ื•ืช


-F ืขืจืš ืžื’ื“ื™ืจ ืืช ืžืคืจื™ื“ ื”ืฉื“ื•ืช, FS, ื›ื“ื™ ืขืจืš.

-f ืคื™ืœื” ื˜ืงืกื˜ ื”ืชื•ื›ื ื™ืช ื ืงืจื ืคื™ืœื” ื‘ืžืงื•ื ืžืฉื•ืจืช ื”ืคืงื•ื“ื”. ืžืจื•ื‘ื•ืช
-f ืžื•ืชืจื•ืช ืืคืฉืจื•ื™ื•ืช.

-v var=ืขืจืš ืžืงืฆื” ืขืจืš ืœืชื›ื ืช ืžืฉืชื ื” ื”ื™ื”.

-- ืžืฆื™ื™ืŸ ืืช ื”ืกื•ืฃ ื”ื—ื“ ืžืฉืžืขื™ ืฉืœ ืืคืฉืจื•ื™ื•ืช.

ื”ืืคืฉืจื•ื™ื•ืช ืœืขื™ืœ ื™ื”ื™ื• ื–ืžื™ื ื•ืช ืขื ื›ืœ ืžื™ืžื•ืฉ ืชื•ืื Posix ืฉืœ AWK, ื•
ืžืงื“ื™ืžื•ืช ืืคืฉืจื•ื™ื•ืช ืกืคืฆื™ืคื™ื•ืช ืœื™ื™ืฉื•ื -W. ืžืื•ืง ืžืกืคืง ืฉื™ืฉื”:

-W ื’ืจืกื” ืžืื•ืง ื›ื•ืชื‘ ืืช ื”ื’ืจืกื” ื•ื–ื›ื•ื™ื•ืช ื”ื™ื•ืฆืจื™ื ืฉืœื” ืœ-stdout ื•ืžื’ื‘ืœื•ืช ื”ื™ื“ื•ืจ
stderr ื•ื™ื•ืฆื ืž-0.

-W dump ื›ื•ืชื‘ ืืกืžื‘ืœืจ ื›ืžื• ืจื™ืฉื•ื ืฉืœ ื”ื™ื™ืฆื•ื’ ื”ืคื ื™ืžื™ ืฉืœ
ืชื•ื›ื ื™ืช ืœ-stdout ื•ื™ื•ืฆืืช ืž-0 (ื‘ืงื•ืžืคื™ืœืฆื™ื” ืžื•ืฆืœื—ืช).

-W ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ืช ืžื’ื“ื™ืจื” ื›ืชื™ื‘ื” ืœื ืžืื•ืžืฆืช ืœ-stdout ื•ืงืจื™ืื” ืžืื•ื—ืกื ืช ื‘ืฉื•ืจื” ืž-stdin.
ืจืฉื•ืžื•ืช ืž-stdin ื”ืŸ ืฉื•ืจื•ืช ืœืœื ืงืฉืจ ืœืขืจืš ืฉืœ RS.

-W Exec ืคื™ืœื” ื˜ืงืกื˜ ื”ืชื•ื›ื ื™ืช ื ืงืจื ืคื™ืœื” ื•ื–ื• ื”ืืคืฉืจื•ืช ื”ืื—ืจื•ื ื”. ืฉื™ืžื•ืฉื™ ืขืœ
ืžืขืจื›ื•ืช ื”ืชื•ืžื›ื•ืช ื‘ #! ืžื•ืกื›ืžื” ืฉืœ "ืžืกืคืจ ืงืกื" ืœืงื•ื‘ืฅ ื”ืคืขืœื”
ืชืกืจื™ื˜ื™ื.

-W sprintf=NUM ืžืชืื™ื ืืช ื”ื’ื•ื“ืœ ืฉืœ ืฉืœ ืžืื•ืง ืžืื’ืจ sprintf ืคื ื™ืžื™ ืœ NUM ื‘ืชื™ื. ื™ื•ืชืจ ืž
ืฉื™ืžื•ืฉ ื ื“ื™ืจ ื‘ืืคืฉืจื•ืช ื–ื• ืžืขื™ื“ ืžืื•ืง ืฆืจื™ืš ืœื”ื™ื“ื•ืจ ืžื—ื“ืฉ.

-W posix_space forces ืžืื•ืง ืœื ืœื”ืชื™ื™ื—ืก ืœ'\n' ื›ืžืจื—ื‘.

ื”ื˜ืคืกื™ื ื”ืงืฆืจื™ื -W[vdiesp] ืžื–ื•ื”ื™ื ื•ื‘ืžืขืจื›ื•ืช ืžืกื•ื™ืžื•ืช -We ื—ื•ื‘ื” ืœื”ื™ืžื ืข
ืžื’ื‘ืœื•ืช ืื•ืจืš ืฉื•ืจืช ื”ืคืงื•ื“ื”.

LA AWK ืฉื‚ึธืคึธื”


1. ืชึธื›ึฐื ึดื™ืช ืžึดื‘ึฐื ึถื”
ืชื•ื›ื ื™ืช AWK ื”ื™ื ืจืฆืฃ ืฉืœ ื“ืคื•ืก {ืคืขื•ืœื”} ื–ื•ื’ื•ืช ื•ื”ื’ื“ืจื•ืช ืคื•ื ืงืฆื™ื•ืช ืžืฉืชืžืฉ.

ื“ืคื•ืก ื™ื›ื•ืœ ืœื”ื™ื•ืช:
ื”ืชื—ืœ
ื”ืกื•ืฃ
ื‘ื™ื˜ื•ื™
ื”ื‘ืขื”, ื”ื‘ืขื”

ืื—ื“, ืื‘ืœ ืœื ืฉื ื™ื”ื, ืฉืœ ื“ืคื•ืก {ืคืขื•ืœื”} ื ื™ืชืŸ ืœื”ืฉืžื™ื˜. ืื {ืคืขื•ืœื”} ืžื•ืฉืžื˜ ื–ื” ื›ืŸ
ื‘ืžืจื•ืžื– { ื”ื“ืคืก }. ืื ื“ืคื•ืก ืžื•ืฉืžื˜, ืื– ื”ื•ื ืžื•ืชืื ื‘ืื•ืคืŸ ืžืจื•ืžื–. ื”ืชื—ืœ ื•
ื”ืกื•ืฃ ื“ืคื•ืกื™ื ื“ื•ืจืฉื™ื ืคืขื•ืœื”.

ื”ืฆื”ืจื•ืช ืžืกืชื™ื™ืžื•ืช ื‘ืฉื•ืจื•ืช ื—ื“ืฉื•ืช, ื ืงื•ื“ื”-ืคืกื™ืง ืื• ืฉื ื™ื”ื. ืงื‘ื•ืฆื•ืช ืฉืœ ื”ืฆื”ืจื•ืช ื›ื’ื•ืŸ
ืคืขื•ืœื•ืช ืื• ื’ื•ืคื™ ืœื•ืœืื” ื ื—ืกืžื™ื ื‘ืืžืฆืขื•ืช { ... } ื›ืžื• ื‘-C. ื”ื”ืฆื”ืจื” ื”ืื—ืจื•ื ื” ื‘ื‘ืœื•ืง
ืœื ืฆืจื™ืš ื˜ืจืžื™ื ื˜ื•ืจ. ืœืฉื•ืจื•ืช ืจื™ืงื•ืช ืื™ืŸ ืžืฉืžืขื•ืช; ื”ืฆื”ืจื” ืจื™ืงื” ืžืกืชื™ื™ืžืช
ืขื ื ืงื•ื“ื”-ืคืกื™ืง. ื ื™ืชืŸ ืœื”ืžืฉื™ืš ื‘ื”ืฆื”ืจื•ืช ืืจื•ื›ื•ืช ืขื ืงื• ื ื˜ื•ื™ ืื—ื•ืจื™, \. ื”ืฆื”ืจื” ื™ื›ื•ืœื”
ืœื”ื™ืฉื‘ืจ ืœืœื ืงื• ื ื˜ื•ื™ ืื—ื•ืจื™ ืœืื—ืจ ืคืกื™ืง, ืกื•ื’ืจ ืฉืžืืœื™, &&, ||, do, ืื—ืจ, ื”ื ื›ื•ืŸ
ืกื•ื’ืจื™ื™ื ืฉืœ ื if, ื‘ื–ืžืŸ or ืœ ืžืฉืคื˜, ื•ื”ืกื•ื’ืจื™ื™ื ื”ื™ืžื ื™ื™ื ืฉืœ ืคื•ื ืงืฆื™ื”
ื”ึทื’ื“ึธืจึธื”. ื”ืขืจื” ืžืชื—ื™ืœื” ื‘-# ื•ืžืชืจื—ื‘ืช ืขื“, ืืš ืื™ื ื” ื›ื•ืœืœืช ืืช ืกื•ืฃ ื”ืฉื•ืจื”.

ื”ื”ืฆื”ืจื•ืช ื”ื‘ืื•ืช ืฉื•ืœื˜ื•ืช ื‘ื–ืจื™ืžืช ื”ืชื•ื›ื ื™ืช ื‘ืชื•ืš ื‘ืœื•ืงื™ื.

if ( ื‘ื™ื˜ื•ื™ ) ื”ืฆื”ืจื”

if ( ื‘ื™ื˜ื•ื™ ) ื”ืฆื”ืจื” ืื—ืจ ื”ืฆื”ืจื”

ื‘ื–ืžืŸ ( ื‘ื™ื˜ื•ื™ ) ื”ืฆื”ืจื”

do ื”ืฆื”ืจื” ื‘ื–ืžืŸ ( ื‘ื™ื˜ื•ื™ )

ืœ ( opt_expr ; opt_expr ; opt_expr ) ื”ืฆื”ืจื”

ืœ ( ื”ื™ื” in ืžืขืจืš ) ื”ืฆื”ืจื”

ืœื”ืžืฉื™ืš

ืœืฉื‘ื•ืจ

2. ื ืชื•ื ื™ื ืกื•ื’ื™ื, ื”ืžืจื” ื• ื”ืฉื•ื•ืื”
ื™ืฉื ื ืฉื ื™ ืกื•ื’ื™ ื ืชื•ื ื™ื ื‘ืกื™ืกื™ื™ื, ืžืกืคืจื™ ื•ืžื—ืจื•ื–ืช. ืงื‘ื•ืขื™ื ืžืกืคืจื™ื™ื ื™ื›ื•ืœื™ื ืœื”ื™ื•ืช ื›ืžื• ืžืกืคืจื™ื ืฉืœืžื™ื
-2, ืขืฉืจื•ื ื™ ื›ืžื• 1.08, ืื• ื‘ืกื™ืžื•ืŸ ืžื“ืขื™ ื›ืžื• -1.1e4 ืื• .28E-3. ื›ืœ ื”ืžืกืคืจื™ื ื”ื
ืžื™ื•ืฆื’ ืคื ื™ืžื™ ื•ื›ืœ ื”ื—ื™ืฉื•ื‘ื™ื ื ืขืฉื™ื ื‘ืืจื™ืชืžื˜ื™ืงื” ืฉืœ ื ืงื•ื“ื” ืฆืคื”. ืื– ื‘ืฉื‘ื™ืœ
ืœื“ื•ื’ืžื”, ื”ื‘ื™ื˜ื•ื™ 0.2e2 == 20 ื ื›ื•ืŸ ื•-true ืžื™ื•ืฆื’ ื›-1.0.

ืงื‘ื•ืขื™ ืžื—ืจื•ื–ืช ืžื•ืงืคื™ื ื‘ืžื™ืจื›ืื•ืช ื›ืคื•ืœื•ืช.

"ื–ื• ืžื—ืจื•ื–ืช ืขื ืฉื•ืจื” ื—ื“ืฉื” ื‘ืกื•ืฃ.\n"

ื ื™ืชืŸ ืœื”ืžืฉื™ืš ืžื—ืจื•ื–ื•ืช ืขืœ ืคื ื™ ืงื• ืขืœ-ื™ื“ื™ ื‘ืจื™ื—ื” (\) ืžื”ืฉื•ืจื” ื”ื—ื“ืฉื”. ื”ื‘ืจื™ื—ื” ื”ื‘ืื”
ืจืฆืคื™ื ืžื–ื•ื”ื™ื.

\\\
\" "
ื”ืชืจืื”, ascii 7
\b backspace, ascii 8
\t tab, ascii 9
\n ืฉื•ืจื” ื—ื“ืฉื”, ascii 10
\v ื›ืจื˜ื™ืกื™ื™ื” ืื ื›ื™ืช, ascii 11
\f formfeed, ascii 12
ื”ื—ื–ืจืช ื›ืจื›ืจื”, ascii 13
\ddd 1, 2 ืื• 3 ืกืคืจื•ืช ืื•ืงื˜ืœื™ื•ืช ืขื‘ื•ืจ ascii ddd
\xhh 1 ืื• 2 ืกืคืจื•ืช hex ืขื‘ื•ืจ ascii hh

ืื ืืชื” ื‘ื•ืจื— ืžื›ืœ ืชื• ืื—ืจ \c, ืืชื” ืžืงื‘ืœ \c, ื›ืœื•ืžืจ, ืžืื•ืง ืžืชืขืœื ืžื”ื‘ืจื™ื—ื”.

ื™ืฉ ื‘ืืžืช ืฉืœื•ืฉื” ืกื•ื’ื™ ื ืชื•ื ื™ื ื‘ืกื™ืกื™ื™ื; ื”ืฉืœื™ืฉื™ ื”ื•ื ืžืกืคืจ ื• ืžื—ืจื•ื–ืช ืฉื™ืฉ ื‘ื• ื’ื ื
ืขืจืš ืžืกืคืจื™ ื•ืขืจืš ืžื—ืจื•ื–ืช ื‘ื•-ื–ืžื ื™ืช. ืžืฉืชื ื™ื ื”ืžื•ื’ื“ืจื™ื ืขืœ ื™ื“ื™ ื”ืžืฉืชืžืฉ ื ื›ื ืกื™ื
ืงื™ื•ื ื›ืืฉืจ ืžืชื™ื™ื—ืกื™ื ืœืจืืฉื•ื ื” ื•ืžืื•ื—ืœื™ื ืœ ืจื™ืง, ืžืกืคืจ ื•ืขืจืš ืžื—ืจื•ื–ืช
ื‘ืขืœ ืขืจืš ืžืกืคืจื™ 0 ื•ืขืจืš ืžื—ืจื•ื–ืช "". ื ืชื•ื ื™ื ืœื ื˜ืจื™ื•ื•ื™ืืœื™ื™ื ื”ืžื•ืงืœื“ื™ื ื‘ืžื—ืจื•ื–ืช
ืžื’ื™ืขื™ื ืžืงืœื˜ ื•ืžืื•ื—ืกื ื™ื ื‘ื“ืจืš ื›ืœืœ ื‘ืฉื“ื•ืช. (ืจืื” ืกืขื™ืฃ 4).

ืกื•ื’ ื”ื‘ื™ื˜ื•ื™ ื ืงื‘ืข ืขืœ ืคื™ ื”ื”ืงืฉืจ ืฉืœื• ื•ื”ืžืจืช ื”ืกื•ื’ ื”ืื•ื˜ื•ืžื˜ื™ืช
ืžืชืจื—ืฉ ื‘ืžื™ื“ืช ื”ืฆื•ืจืš. ืœืžืฉืœ, ืœื”ืขืจื™ืš ืืช ื”ื”ืฆื”ืจื•ืช

y = x + 2; z = x "ืฉืœื•ื"

ื”ืขืจืš ื”ืžืื•ื—ืกืŸ ื‘ืžืฉืชื ื” y ื™ื•ืงืœื“ ืžืกืคืจื™. ืื x ืื™ื ื• ืžืกืคืจื™, ื”ืขืจืš ื ืงืจื
ืž-x ืžื•ืžืจ ืœืžืกืคืจื™ ืœืคื ื™ ืฉื”ื•ื ืžืชื•ื•ืกืฃ ืœ-2 ื•ืžืื•ื—ืกืŸ ื‘-y. ื”ืขืจืš ื”ืžืื•ื—ืกืŸ
ื‘ืžืฉืชื ื” z ื™ื•ืงืœื“ string, ื•ื”ืขืจืš ืฉืœ x ื™ื•ืžืจ ืœ-string if
ื ื—ื•ืฅ ื•ืžืฉื•ืจืฉืจ ืขื "ืฉืœื•ื". (ื›ืžื•ื‘ืŸ, ื”ืขืจืš ื•ื”ืกื•ื’ ื”ืžืื•ื—ืกื ื™ื ื‘-x ื”ื
ืœื ื”ืฉืชื ื” ืขืœ ื™ื“ื™ ื”ืžืจื•ืช ื›ืœืฉื”ืŸ.) ื‘ื™ื˜ื•ื™ ืžื—ืจื•ื–ืช ืžื•ืžืจ ืœืžืกืคืจื™ ื‘ืืžืฆืขื•ืช ื”ื‘ื™ื˜ื•ื™ ืฉืœื•
ื”ืงื™ื“ื•ืžืช ื”ืžืกืคืจื™ืช ื”ืืจื•ื›ื” ื‘ื™ื•ืชืจ ื›ืžื• ืขื ืื˜ื•ืค(3). ื‘ื™ื˜ื•ื™ ืžืกืคืจื™ ืžื•ืžืจ ืœืžื—ืจื•ื–ืช ืขืœ ื™ื“ื™
ื”ื—ืœืคื” ื‘ื™ื˜ื•ื™ ืขื sprintf(CONVFMT, ื‘ื™ื˜ื•ื™), ืืœื ืื ื›ืŸ ื‘ื™ื˜ื•ื™ ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžื™ื•ืฆื’ ืขืœ ื”ืžืืจื—
ืžื›ื•ื ื” ื›ืžืกืคืจ ืฉืœื ืžื“ื•ื™ืง ื•ืื– ื”ื•ื ืžื•ืžืจ ืกืคืจื™ื ื˜ืฃ("%d", ื‘ื™ื˜ื•ื™). Sprintf() ื”ื•ื
AWK ืžื•ื‘ื ื” ื”ืžืฉื›ืคืœ ืืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ ืกืคืจื™ื ื˜ืฃ(3), ื• CONVFMT ื”ื•ื ืžื•ื‘ื ื”
ืžืฉืชื ื” ื”ืžืฉืžืฉ ืœื”ืžืจื” ืคื ื™ืžื™ืช ืžืžืกืคืจ ืœืžื—ืจื•ื–ืช ื•ืžืื•ื—ืœ ืœ-%6g.
ื ื™ืชืŸ ืœื›ืคื•ืช ื”ืžืจื•ืช ืžืกื•ื’ ืžืคื•ืจืฉ, ื‘ื™ื˜ื•ื™ "" ื”ื•ื ืžื—ืจื•ื–ืช ื• ื‘ื™ื˜ื•ื™+0 ื”ื•ื ืžืกืคืจื™.

ืœื”ืขืจื™ืš, ื‘ื™ื˜ื•ื™1 ื ื™ืชื•ื— ื—ื•ื–ืจ ื‘ื™ื˜ื•ื™2, ืื ืฉื ื™ ื”ืื•ืคืจื ื“ื™ื ื”ื ืžืกืคืจื™ื™ื ืื• ืžืกืคืจ ื•ืžื—ืจื•ื–ืช ืื–
ื”ื”ืฉื•ื•ืื” ื”ื™ื ืžืกืคืจื™ืช; ืื ืฉื ื™ ื”ืื•ืคืจื ื“ื™ื ื”ื ืžื—ืจื•ื–ืช ื”ื”ืฉื•ื•ืื” ื”ื™ื ืžื—ืจื•ื–ืช; ืื ืื—ื“
ื”ืื•ืคืจื ื“ ื”ื•ื ืžื—ืจื•ื–ืช, ื”ืื•ืคืจื ื“ ื”ืœื-ืžื—ืจื•ื–ืช ืžื•ืžืจ ื•ื”ื”ืฉื•ื•ืื” ื”ื™ื ืžื—ืจื•ื–ืช. ื”
ื”ืชื•ืฆืื” ื”ื™ื ืžืกืคืจื™ืช, 1 ืื• 0.

ื‘ื”ืงืฉืจื™ื ื‘ื•ืœื™ืื ื™ื™ื ื›ื’ื•ืŸ, if ( ื‘ื™ื˜ื•ื™ ) ื”ืฆื”ืจื”, ื‘ื™ื˜ื•ื™ ืžื—ืจื•ื–ืช ืžืขืจื™ืš true if
ื•ืจืง ืื ื–ื” ืœื ื”ืžื—ืจื•ื–ืช ื”ืจื™ืงื” ""; ืขืจื›ื™ื ืžืกืคืจื™ื™ื ืื ื•ืจืง ืื ืœื ื‘ืื•ืคืŸ ืžืกืคืจื™
ืืคืก.

3. ืจื’ื™ืœ ื‘ื™ื˜ื•ื™ื™ื
ื‘ืฉืคืช AWK, ืจืฉื•ืžื•ืช, ืฉื“ื•ืช ื•ืžื—ืจื•ื–ื•ืช ื ื‘ื“ืงื•ืช ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืœื”ืชืืžื” ืœ-a ืจื’ื™ืœ
ื‘ื™ื˜ื•ื™. ื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื ืžื•ืงืคื™ื ื‘ืืœื›ืกื•ื ื™ื, ื•

ื‘ื™ื˜ื•ื™ ~/r/

ื”ื•ื ื‘ื™ื˜ื•ื™ AWK ื”ืžื•ืขืจืš ืœ-1 if ื‘ื™ื˜ื•ื™ "ื”ืชืืžื•ืช" r, ื›ืœื•ืžืจ ืžื—ืจื•ื–ืช ืžืฉื ื” ืฉืœ
ื‘ื™ื˜ื•ื™ ื ืžืฆื ื‘ืงื‘ื•ืฆืช ื”ืžื—ืจื•ื–ื•ืช ื”ืžื•ื’ื“ืจื•ืช ืขืœ ื™ื“ื™ r. ืœืœื ื”ืชืืžื” ื”ื‘ื™ื˜ื•ื™ ืžื•ืขืจืš ืœ-0;
ื”ื—ืœืคืช ~ ื‘ืื•ืคืจื˜ื•ืจ "ืœื ืชื•ืื", !~ , ื”ื•ืคื›ืช ืืช ื”ืžืฉืžืขื•ืช. ื›ื“ืคื•ืก-ืคืขื•ืœื”
ื–ื•ื’ื•ืช,

/r/ { ืคืขื•ืœื” } ื• $0 ~/r/ { ืคืขื•ืœื” }

ื–ื”ื™ื, ื•ืœื›ืœ ืจืฉื•ืžืช ืงืœื˜ ื”ืชื•ืืžืช r, ืคืขื•ืœื” ืžื•ืฆื ืœื”ื•ืจื’. ืœืžืขืฉื”, /r/
ื”ื•ื ื‘ื™ื˜ื•ื™ AWK ืฉืžืงื‘ื™ืœ ืœ($0 ~/r/) ื‘ื›ืœ ืžืงื•ื ืžืœื‘ื“ ื›ืืฉืจ ื‘ืฆื“ ื™ืžื™ืŸ
ืฆื“ ืฉืœ ืื•ืคืจื˜ื•ืจ ื”ืชืืžื” ืื• ืžื•ืขื‘ืจ ื›ืืจื’ื•ืžื ื˜ ืœืคื•ื ืงืฆื™ื” ืžื•ื‘ื ื™ืช ืฉืžืฆืคื” ืœ- a
ื˜ื™ืขื•ืŸ ื‘ื™ื˜ื•ื™ ืจื’ื™ืœ.

AWK ืžืฉืชืžืฉ ื‘ื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื ืžื•ืจื—ื‘ื™ื ื›ืžื• ืขื egrep(1). ื”ื‘ื™ื˜ื•ื™ ื”ืจื’ื•ืœืจื™
ืžื˜ื-ืชื•ื•ื™ื, ื›ืœื•ืžืจ, ื‘ืขืœื™ ืžืฉืžืขื•ืช ืžื™ื•ื—ื“ืช ื‘ื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื ื”ื

^ $ . [ ] | ( ) * + ?

ื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื ื‘ื ื•ื™ื™ื ืžืชื•ื•ื™ื ื‘ืื•ืคืŸ ื”ื‘ื:

c ืžืชืื™ื ืœื›ืœ ืชื• ืฉืื™ื ื• ืžื˜ื c.

\c ืชื•ืื ืชื• ื”ืžื•ื’ื“ืจ ืขืœ ื™ื“ื™ ืื•ืชื ืจืฆืคื™ ื‘ืจื™ื—ื” ื”ืžืฉืžืฉื™ื ื‘
ืงื‘ื•ืขื™ ืžื—ืจื•ื–ืช ืื• ื”ืชื• ื”ืžื™ืœื•ืœื™ c ืื \c ืื™ื ื• ื‘ืจื™ื—ื”
ืกื“ืจ ืคืขื•ืœื•ืช.

. ืžืชืื™ื ืœื›ืœ ืชื• (ื›ื•ืœืœ ืงื• ื—ื“ืฉ).

^ ืชื•ืื ืืช ื”ื—ืœืง ื”ืงื“ืžื™ ืฉืœ ืžื—ืจื•ื–ืช.

$ ืชื•ืื ืœื—ืœืง ื”ืื—ื•ืจื™ ืฉืœ ืžื—ืจื•ื–ืช.

[c1c2c3...] ืžืชืื™ื ืœื›ืœ ืชื• ื‘ืžื—ืœืงื” c1c2c3... . ืžืจื•ื•ื— ืฉืœ
ืชื•ื•ื™ื ืžืกื•ืžื ื™ื c1-c2 ื‘ืชื•ืš ืžื—ืœืงื” [...].

[^c1c2c3...] ืชื•ืื ืœื›ืœ ืชื• ืฉืื™ื ื• ื‘ืžื—ืœืงื” c1c2c3...

ื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื ื‘ื ื•ื™ื™ื ืžื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื ืื—ืจื™ื ื‘ืื•ืคืŸ ื”ื‘ื:

r1r2 ื”ืชืืžื•ืช r1 ื•ืื—ืจื™ื• ืžื™ื“ r2 (ืฉืจืฉื•ืจ).

r1 | r2 ื”ืชืืžื•ืช r1 ืื• r2 (ืœืกื™ืจื•ื’ื™ืŸ).

r* ื”ืชืืžื•ืช r ื—ื•ื–ืจ ืขืœ ืืคืก ืื• ื™ื•ืชืจ ืคืขืžื™ื.

r+ ื”ืชืืžื•ืช r ื—ื•ื–ืจ ืขืœ ืขืฆืžื• ืคืขื ืื—ืช ืื• ื™ื•ืชืจ.

r? ื”ืชืืžื•ืช r ืืคืก ืื• ืคืขื ืื—ืช.

(r) ื”ืชืืžื•ืช r, ืžืชืŸ ืงื™ื‘ื•ืฅ.

ื”ืขื“ื™ืคื•ืช ื”ื’ื•ื‘ืจืช ืฉืœ ืื•ืคืจื˜ื•ืจื™ื ื”ื™ื ื—ื™ืœื•ืคื™ืŸ, ืฉืจืฉื•ืจ ื•-unary (*, + ืื•
?).

ืœื“ื•ื’ืžื”,

/^[_a-zA-Z][_a-zA-Z0-9]*$/ ื•
/^[-+]?([0-9]+\.?|\.[0-9])[0-9]*([eE][-+]?[0-9]+)?$/

ืžื•ืชืืžื™ื ืขืœ ื™ื“ื™ ืžื–ื”ื™ AWK ื•ืงื‘ื•ืขื™ื ืžืกืคืจื™ื™ื AWK ื‘ื”ืชืืžื”. ืฆื™ื™ืŸ ื–ืืช . ืฆืจื™ืš
ืœื”ื™ืžืœื˜ ื›ื“ื™ ืœื”ื™ื•ืช ืžื•ื›ืจ ื›ื ืงื•ื“ื” ืขืฉืจื•ื ื™ืช, ื•ื›ื™ ืชื•ื•ื™ื ืžื˜ื ืื™ื ื ืžื™ื•ื—ื“ื™ื
ื‘ืชื•ืš ืฉื™ืขื•ืจื™ ืื•ืคื™.

ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื›ืœ ื‘ื™ื˜ื•ื™ ื‘ืฆื“ ื™ืžื™ืŸ ืฉืœ ื”ืื•ืคืจื˜ื•ืจื™ื ~ ืื• !~ ืื• ืœื”ืขื‘ื™ืจ ืœ-a
ืžื•ื‘ื ื” ืฉืžืฆืคื” ืœื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™. ื‘ืžื™ื“ืช ื”ืฆื•ืจืš, ื”ื•ื ืžื•ืžืจ ืœืžื—ืจื•ื–ืช, ื•
ื•ืื– ืžืชืคืจืฉ ื›ื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™. ืœื“ื•ื’ืžื”,

ื”ืชื—ืœ { ืžื–ื”ื” = "[_a-zA-Z][_a-zA-Z0-9]*" }

ืžื–ื”ื” $0 ~ "^".

ืžื“ืคื™ืก ืืช ื›ืœ ื”ืฉื•ืจื•ืช ืฉืžืชื—ื™ืœื•ืช ื‘ืžื–ื”ื” AWK.

ืžืื•ืง ืžื–ื”ื” ืืช ื”ื‘ื™ื˜ื•ื™ ื”ืจื’ื•ืœืจื™ ื”ืจื™ืง, //, ื”ืชื•ืื ืืช ื”ืžื—ืจื•ื–ืช ื”ืจื™ืงื” ื•ืžื›ืืŸ
ืžื•ืชืื ืœื›ืœ ืžื™ืชืจ ื‘ื—ื–ื™ืช, ืžืื—ื•ืจ ื•ื‘ื™ืŸ ื›ืœ ืชื•. ืœื“ื•ื’ืžื”,

echo abc | mawk { gsub(//, "X"); ื”ื“ืคืก }
XaXbXcX

4. ืจืฉื•ืžื•ืช ื• ืฉื“ื•ืช
ืจืฉื•ืžื•ืช ื ืงืจืื•ืช ืื—ืช ื‘ื›ืœ ืคืขื, ื•ืžืื•ื—ืกื ื•ืช ื‘- ืฉื“ื” ืžืฉืชื ื” $0. ื”ืฉื™ื ื”ื•ื
ืœื”ืชืคืฆืœ ืœืชื•ืš ืฉื“ื•ืช ืืฉืจ ืžืื•ื—ืกื ื™ื ื‘ $1, $2, ..., $NF. ื”ืžืฉืชื ื” ื”ืžื•ื‘ื ื” NF ืžื•ื’ื“ืจ
ืœืžืกืคืจ ื”ืฉื“ื•ืช, ื• NR ื• FNR ืžื•ื’ื“ืœื™ื ื‘-1. ืฉื“ื•ืช ืœืžืขืœื” $NF ื ืงื‘ืขื™ื
"".

ืžืฉื™ืžื” ืœ $0 ื’ื•ืจื ืœืฉื“ื•ืช ื• NF ืœื—ืฉื‘ ืžื—ื“ืฉ. ืžืฉื™ืžื” ืœ NF ืื• ืืœ
ื’ื•ืจื ืฉื“ื” $0 ืœืฉื—ื–ื•ืจ ืขืœ ื™ื“ื™ ืฉืจืฉื•ืจ ืฉืœ ืฉืœ $i ืžื•ืคืจื“ื™ื ืขืœ ื™ื“ื™ FSO.
ื”ืงืฆืื” ืœืฉื“ื” ืขื ืื™ื ื“ืงืก ื’ื“ื•ืœ ืž NF, ืขื•ืœื” NF ื•ื’ื•ืจืžื™ื $0 ืœื”ื™ื•ืช
ืžึฐืฉืื•ึผื—ื–ึธืจ.

ืงืœื˜ ื”ื ืชื•ื ื™ื ื”ืžืื•ื—ืกื ื™ื ื‘ืฉื“ื•ืช ื”ื•ื ืžื—ืจื•ื–ืช, ืืœื ืื ื”ืฉื“ื” ื›ื•ืœื• ื‘ืขืœ ืฆื•ืจื” ืžืกืคืจื™ืช ื•ืœืื—ืจ ืžื›ืŸ
ื”ืกื•ื’ ื”ื•ื ืžืกืคืจ ื•ืžื—ืจื•ื–ืช. ืœื“ื•ื’ืžื”,

echo 24 24E |
mawk '{ print($1>100, $1>"100", $2>100, $2>"100") }'
0 1 1 1

$0 ื• $2 ื”ื ืžื—ืจื•ื–ืช ื• $1 ื”ื•ื ืžืกืคืจ ื•ืžื—ืจื•ื–ืช. ื”ื”ืฉื•ื•ืื” ื”ืจืืฉื•ื ื” ื”ื™ื ืžืกืคืจื™ืช, ื”
ื”ืฉื ื™ ื”ื•ื ืžื—ืจื•ื–ืช, ื”ืฉืœื™ืฉื™ ื”ื•ื ืžื—ืจื•ื–ืช (100 ืžื•ืžืจ ืœ-"100"), ื•ื”ืื—ืจื•ืŸ ื”ื•ื ืžื—ืจื•ื–ืช.

5. ื‘ื™ื˜ื•ื™ื™ื ื• ืžืคืขื™ืœื™
ืชื—ื‘ื™ืจ ื”ื‘ื™ื˜ื•ื™ ื“ื•ืžื” ืœ-C. ื‘ื™ื˜ื•ื™ื™ื ืจืืฉื•ื ื™ื™ื ื”ื ืงื‘ื•ืขื™ื ืžืกืคืจื™ื™ื, ืžื—ืจื•ื–ืช
ืงื‘ื•ืขื™ื, ืžืฉืชื ื™ื, ืฉื“ื•ืช, ืžืขืจื›ื™ื ื•ืงืจื™ืื•ืช ืคื•ื ืงืฆื™ื•ืช. ื”ืžื–ื”ื” ืฉืœ ืžืฉืชื ื”,
ืžืขืจืš ืื• ืคื•ื ืงืฆื™ื” ื™ื›ื•ืœื™ื ืœื”ื™ื•ืช ืจืฆืฃ ืฉืœ ืื•ืชื™ื•ืช, ืกืคืจื•ืช ื•ืงื•ื•ื™ื ืชื—ืชื•ื ื™ื, ืฉืœื
ืœื”ืชื—ื™ืœ ื‘ืกืคืจื”. ืžืฉืชื ื™ื ืื™ื ื ืžื•ืฆื”ืจื™ื; ื”ื ืงื™ื™ืžื™ื ื›ืืฉืจ ืžืชื™ื™ื—ืกื™ื ืืœื™ื”ื ืœืจืืฉื•ื ื” ื•ื”ื ืงื™ื™ืžื™ื
ืžืื•ืชื—ืœ ืœ ืจื™ืง.

ื‘ื™ื˜ื•ื™ื™ื ื—ื“ืฉื™ื ืžื•ืจื›ื‘ื™ื ืขื ื”ืื•ืคืจื˜ื•ืจื™ื ื”ื‘ืื™ื ืœืคื™ ืกื“ืจ ื”ื’ื“ืœื”
ืขึฒื“ึดื™ืคื•ึผืช.

ืžืฉื™ืžื” = += -= *= /= %= ^=
ืžื•ืชื ื” ? :
ื”ื’ื™ื•ื ื™ or ||
ื”ื’ื™ื•ื ื™ ื• &&
ืžืขืจืš ื—ึฒื‘ึตืจื•ึผืช in
ืชื•ืื ~!~
ื™ื—ืกื™ื•ืช < > <= >= == !=
ืฉืจืฉื•ืจ (ืœืœื ืžืคืขื™ืœ ืžืคื•ืจืฉ)
ืœื”ื•ืกื™ืฃ ops + -
ืžื•ืœ ops * /%
ื™ื•ื ื™ืจื™ + -
ื”ื’ื™ื•ื ื™ ืœึนื !
ืืงืกืคื•ื ื ืฆื™ื” ^
inc ื• ื“ืฆืžื‘ืจ ++ -- (ื’ื ืคื•ืกื˜ ื•ื’ื ืงื“ื)
ืฉื“ื” $

ื”ืงืฆืื”, ืชื ืื™ ื•ืืงืกืคื•ื ืฆื™ื” ืžืงืฉืจื™ื ื‘ื™ืŸ ื™ืžื™ืŸ ืœืฉืžืืœ; ื”ืžืคืขื™ืœื™ื ื”ืื—ืจื™ื
ืœืงืฉืจ ืžืฉืžืืœ ืœื™ืžื™ืŸ. ื ื™ืชืŸ ืœืกืžืŸ ื›ืœ ื‘ื™ื˜ื•ื™ ื‘ืกื•ื’ืจื™ื™ื.

6. ืžืขืจื›ื™ื
Awk ืžืกืคืง ืžืขืจื›ื™ื ื—ื“ ืžื™ืžื“ื™ื™ื. ืจื›ื™ื‘ื™ ืžืขืจืš ื‘ืื™ื ืœื™ื“ื™ ื‘ื™ื˜ื•ื™ ื› ืžืขืจืš[ื‘ื™ื˜ื•ื™]. ืžืคืง
ืžื•ืžืจ ื‘ืื•ืคืŸ ืคื ื™ืžื™ ืœืกื•ื’ ืžื—ืจื•ื–ืช, ื›ืš, ืœืžืฉืœ, A[1] ื•-A["1"] ื–ื”ื™ื
ืืœืžื ื˜ ื•ื”ืื™ื ื“ืงืก ื‘ืคื•ืขืœ ื”ื•ื "1". ืžืขืจื›ื™ื ืฉืžื•ืกื™ืคื™ื ืœืื™ื ื“ืงืก ืขืœ ื™ื“ื™ ืžื—ืจื•ื–ื•ืช ื ืงืจืื™ื ืืกื•ืฆื™ืื˜ื™ื‘ื™ื™ื
ืžืขืจื›ื™ื. ื‘ืชื—ื™ืœื” ืžืขืจืš ืจื™ืง; ืจื›ื™ื‘ื™ื ืงื™ื™ืžื™ื ื‘ืขืช ื”ื’ื™ืฉื” ืืœื™ื”ื ืœืจืืฉื•ื ื”. ื‘ื™ื˜ื•ื™,
ื‘ื™ื˜ื•ื™ in ืžืขืจืš ืžื•ืขืจืš ืœ-1 if ืžืขืจืš[ื‘ื™ื˜ื•ื™] ืงื™ื™ื, ืื—ืจืช ืœ-0.

ื™ืฉ ืฆื•ืจื” ืฉืœ ืœ ื”ืฆื”ืจื” ืฉืขื•ื‘ืจืช ื‘ืœื•ืœืื” ืขืœ ื›ืœ ืื™ื ื“ืงืก ืฉืœ ืžืขืจืš.

ืœ ( ื”ื™ื” in ืžืขืจืš ) ื”ืฆื”ืจื”

ืกื˜ื™ื ื”ื™ื” ืœื›ืœ ืžื“ื“ ืฉืœ ืžืขืจืš ื•ืžื‘ืฆืขืช ื”ืฆื”ืจื”. ื”ืกื“ืจ ืฉ ื”ื™ื” ืจื•ื—ื‘ื™ื™ื
ื”ืžื“ื“ื™ื ืฉืœ ืžืขืจืš ืื™ื ื• ืžื•ื’ื“ืจ.

ื”ื”ืฆื”ืจื”, ืœื”ืกื™ืจ ืžืขืจืš[ื‘ื™ื˜ื•ื™], ื’ื•ืจื ืœ ืžืขืจืš[ื‘ื™ื˜ื•ื™] ืœื ืœื”ืชืงื™ื™ื. ืžืื•ืง ืชื•ืžืš ื‘-
ืกื™ื•ืžืช, ืœื”ืกื™ืจ ืžืขืจืš, ืืฉืจ ืžื•ื—ืง ืืช ื›ืœ ื”ืจื›ื™ื‘ื™ื ืฉืœ ืžืขืจืš.

ืžืขืจื›ื™ื ืจื‘ ืžื™ืžื“ื™ื™ื ืžืกื•ื ืชื–ื™ื ืขื ืฉืจืฉื•ืจ ื‘ืืžืฆืขื•ืช ื”ืžืฉืชื ื” ื”ืžื•ื‘ื ื”
SUBSEP. ืžืขืจืš[ื‘ื™ื˜ื•ื™1,ื‘ื™ื˜ื•ื™2] ืฉื•ื•ื” ืขืจืš ืœ ืžืขืจืš[ื‘ื™ื˜ื•ื™1 SUBSEP ื‘ื™ื˜ื•ื™2]. ื‘ื“ื™ืงื” ืขื‘ื•ืจ ื
ืืœืžื ื˜ ืจื‘ ืžืžื“ื™ ืžืฉืชืžืฉ ื‘ืื™ื ื“ืงืก ื‘ืกื•ื’ืจื™ื™ื, ื›ื’ื•ืŸ

if ((i, j) ื‘-A ) ื”ื“ืคืก A[i, j]

7. ืžืฉืชื ื™ื ืžื•ื‘ื ื™ื
ื”ืžืฉืชื ื™ื ื”ื‘ืื™ื ืžื•ื‘ื ื™ื ื•ืžืื•ื—ืœื™ื ืœืคื ื™ ื”ืคืขืœืช ื”ืชื•ื›ื ื™ืช.

ARGC ืžืกืคืจ ืืจื’ื•ืžื ื˜ื™ื ืฉืœ ืฉื•ืจืช ื”ืคืงื•ื“ื”.

ARGV ืžืขืจืš ืืจื’ื•ืžื ื˜ื™ื ืฉืœ ืฉื•ืจืช ื”ืคืงื•ื“ื”, 0..ARGC-1.

CONVFMT ืคื•ืจืžื˜ ืœื”ืžืจื” ืคื ื™ืžื™ืช ืฉืœ ืžืกืคืจื™ื ืœืžื—ืจื•ื–ืช, ื‘ื”ืชื—ืœื” = "%.6g".

ืขืœ ืื•ื“ื•ืช ืžืขืจืš ื‘ืื™ื ื“ืงืก ืขืœ ื™ื“ื™ ืžืฉืชื ื™ ืกื‘ื™ื‘ื”. ืžื—ืจื•ื–ืช ืกื‘ื™ื‘ื”, var=ืขืจืš
ืžืื•ื—ืกืŸ ื›- ืขืœ ืื•ื“ื•ืช[ื”ื™ื”] = ืขืจืš.

ืฉื ืงื•ื‘ืฅ ืฉื ืงื•ื‘ืฅ ื”ืงืœื˜ ื”ื ื•ื›ื—ื™.

FNR ืžืกืคืจ ื”ืฉื™ื ื”ื ื•ื›ื—ื™ ื‘ ืฉื ืงื•ื‘ืฅ.

FS ืžืคืฆืœ ืจืฉื•ืžื•ืช ืœืฉื“ื•ืช ื›ื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™.

NF ืžืกืคืจ ื”ืฉื“ื•ืช ื‘ืจืฉื•ืžื” ื”ื ื•ื›ื—ื™ืช.

NR ืžืกืคืจ ื”ืฉื™ื ื”ื ื•ื›ื—ื™ ื‘ื–ืจื ื”ืงืœื˜ ื”ื›ื•ืœืœ.

OFMT ืคื•ืจืžื˜ ืœื”ื“ืคืกืช ืžืกืคืจื™ื; ื‘ื”ืชื—ืœื” = "%.6g".

FSO ื”ื•ื›ื ืก ื‘ื™ืŸ ืฉื“ื•ืช ื‘ืคืœื˜, ื‘ืชื—ื™ืœื” = " ".

ORS ืžืกื™ื™ื ื›ืœ ืจืฉื•ืžื” ื‘ืคืœื˜, ื‘ืชื—ื™ืœื” = "\n".

RLENGTH ืื•ืจืš ืฉื ืงื‘ืข ืขืœ ื™ื“ื™ ื”ืงืจื™ืื” ื”ืื—ืจื•ื ื” ืœืคื•ื ืงืฆื™ื” ื”ืžื•ื‘ื ื™ืช, ื”ืชืืžื”().

RS ืžืคืจื™ื“ ืจืฉื•ืžื•ืช ืงืœื˜, ื‘ื”ืชื—ืœื” = "\n".

RSTART ืื™ื ื“ืงืก ืฉื ืงื‘ืข ืขืœ ื™ื“ื™ ื”ืฉื™ื—ื” ื”ืื—ืจื•ื ื” ืืœ ื”ืชืืžื”().

SUBSEP ืžืฉืžืฉ ืœื‘ื ื™ื™ืช ืžืขืจื›ื™ื ืžืจื•ื‘ื™ื, ื‘ืชื—ื™ืœื” = "\034".

8. Built-in ืคื•ื ืงืฆื™ื•ืช
ืคื•ื ืงืฆื™ื•ืช ืžื—ืจื•ื–ืช

gsub(r,s,t) gsub(ืจ, ืก)
ื”ื—ืœืคื” ื’ืœื•ื‘ืœื™ืช, ื›ืœ ื”ืชืืžื” ืฉืœ ื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™ r ื‘ืžืฉืชื ื” t is
ืžื•ื—ืœืฃ ื‘ืžื—ืจื•ื–ืช s. ืžืกืคืจ ื”ื”ื—ืœืคื•ืช ืžื•ื—ื–ืจ. ืื t is
ื”ื•ืฉืžื˜, $0 ืžืฉืžืฉ. & ื‘ืžื—ืจื•ื–ืช ื”ื”ื—ืœืคื” s ืžื•ื—ืœืฃ ื‘-
ืžื—ืจื•ื–ืช ืžืฉื ื” ืชื•ืืžืช ืฉืœ t. \& ื•-\\ ืžื›ื ื™ืกื™ื ืžื™ืœื•ืœื™ืช & ื•-\, ื‘ื”ืชืืžื”
ืžื—ืจื•ื–ืช ื”ื—ืœืคื”.

ืื™ื ื“ืงืก(ืจื—ื•ื‘)
If t ื”ื•ื ืชืฉืชื™ืช ืฉืœ s, ื•ืื– ื”ืžื™ืงื•ื ืฉื‘ื• t ืžืชื—ื™ืœื™ื ืžื•ื—ื–ืจื™ื, ืื—ืจืช
0 ืžื•ื—ื–ืจ. ื”ื“ืžื•ืช ื”ืจืืฉื•ื ื” ืฉืœ s ื ืžืฆื ื‘ืขืžื“ื” 1.

ืื•ืจืš(s)
ืžื—ื–ื™ืจื” ืืช ืื•ืจืš ื”ืžื—ืจื•ื–ืช s.

ื”ืชืืžื”(s,r)
ืžื—ื–ื™ืจื” ืืช ื”ืื™ื ื“ืงืก ืฉืœ ื”ื”ืชืืžื” ื”ืืจื•ื›ื” ื‘ื™ื•ืชืจ ืฉืœ ื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™ r in
ืžื—ืจื•ื–ืช s. ืžื—ื–ื™ืจื” 0 ืื ืื™ืŸ ื”ืชืืžื”. ื‘ืชื•ืจ ืชื•ืคืขืช ืœื•ื•ืื™, RSTART ืžื•ื’ื“ืจ ืœ
ืขืจืš ื”ื—ื–ืจื”. RLENGTH ืžื•ื’ื“ืจ ืœืื•ืจืš ื”ื”ืชืืžื” ืื• -1 ืื ืื™ืŸ ื”ืชืืžื”.
ืื ื”ืžื—ืจื•ื–ืช ื”ืจื™ืงื” ืชื•ืืžืช, RLENGTH ืžื•ื’ื“ืจ ืœ-0, ื•-1 ืžื•ื—ื–ืจ ืื
ื”ื’ืคืจื•ืจ ื”ื•ื ื‘ื—ื–ื™ืช, ื•ื‘ืื•ืจืš(s)+1 ืžื•ื—ื–ืจ ืื ื”ื”ืชืืžื” ื”ื™ื ื‘
ื”ื’ื‘.

ืœึฐืคึทืฆึตืœ(s,A,r) ืœืคืฆืœ(ืก,ื)
ืžื—ืจื•ื–ืช s ืžืคื•ืฆืœ ืœืฉื“ื•ืช ืขืœ ื™ื“ื™ ื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™ r ื•ื”ืฉื“ื•ืช ื”ื
ื ื˜ืขืŸ ืœืžืขืจืš A. ืžืกืคืจ ื”ืฉื“ื•ืช ืžื•ื—ื–ืจ. ืจืื” ืกืขื™ืฃ 11
ืœื”ืœืŸ ืœืคืจื˜ื™ื ื ื•ืกืคื™ื. ืื r ืžื•ืฉืžื˜, FS ืžืฉืžืฉ.

sprintf (ืคื•ืจืžื˜, expr-list)
ืžื—ื–ื™ืจื” ืžื—ืจื•ื–ืช ื”ื‘ื ื•ื™ื” ืž expr-list ืขืœ ืคื™ ืคื•ึผืจืžึธื˜. ืจืื” ืืช
ืชื™ืื•ืจ ืฉืœ printf() ืœืžื˜ื”.

ืชึทืช(r,s,t) ืชืช(ืจ, ืก)
ื”ื—ืœืคื” ื‘ื•ื“ื“ืช, ื–ื”ื” ืœ-gsub() ืœืžืขื˜ ื”ื—ืœืคื” ืื—ืช ืœื›ืœ ื”ื™ื•ืชืจ.

substr(ื—ื˜ื) substr(ืกึดื™)
ืžื—ื–ื™ืจื” ืืช ื”ืžื—ืจื•ื–ืช ื”ืžืฉื ื” ืฉืœ ื”ืžื—ืจื•ื–ืช s, ื”ื—ืœ ื‘ืื™ื ื“ืงืก i, ื‘ืื•ืจืš n. ืื n
ืžื•ืฉืžื˜, ื”ืกื™ื•ืžืช ืฉืœ s, ืžืชื—ื™ืœ ื‘ i ืžื•ื—ื–ืจ.

ืœื”ื ืžื™ืš(s)
ืžื—ื–ื™ืจ ืขื•ืชืง ืฉืœ s ืขื ื›ืœ ื”ืชื•ื•ื™ื ื”ื’ื“ื•ืœื™ื ื”ืžื•ืžืจื™ื ืœืื•ืชื™ื•ืช ืงื˜ื ื•ืช.

ืœืžืขืœื” (s)
ืžื—ื–ื™ืจ ืขื•ืชืง ืฉืœ s ืขื ื›ืœ ื”ืชื•ื•ื™ื ื”ืงื˜ื ื™ื ืžื•ืžืจื™ื ืœืื•ืชื™ื•ืช ื’ื“ื•ืœื•ืช.

ืคื•ื ืงืฆื™ื•ืช ืืจื™ืชืžื˜ื™ื•ืช

atan2(y,x) ืืจืงื˜ืŸ ืฉืœ y/x ื‘ื™ืŸ -pi ื•-pi.

cos (x) ืคื•ื ืงืฆื™ื™ืช ืงื•ืกื™ื ื•ืก, x ื‘ืจื“ื™ืื ื™ื.

exp (x) ืคื•ื ืงืฆื™ื” ืžืขืจื™ื›ื™ืช.

int (x) ื”ื—ื–ืจื•ืช x ืงื˜ื•ืข ืœื›ื™ื•ื•ืŸ ืืคืก.

ืขึตืฅ(x) ืœื•ื’ืจื™ืชื ื˜ื‘ืขื™.

rand() ืžื—ื–ื™ืจื” ืžืกืคืจ ืืงืจืื™ ื‘ื™ืŸ ืืคืก ืœืื—ื“.

ื—ื˜ื(x) ืคื•ื ืงืฆื™ื™ืช ืกื™ื ื•ืก, x ื‘ืจื“ื™ืื ื™ื.

sqrt(x) ืžื—ื–ื™ืจื” ืฉื•ืจืฉ ืจื™ื‘ื•ืขื™ ืฉืœ x.

srand(ื‘ื™ื˜ื•ื™) srand()
ื–ืจืขื™ื ืืช ืžื—ื•ืœืœ ื”ืžืกืคืจื™ื ื”ืืงืจืื™ื™ื, ื‘ืืžืฆืขื•ืช ื”ืฉืขื•ืŸ ืื ื‘ื™ื˜ื•ื™ ืžื•ืฉืžื˜, ื•
ืžื—ื–ื™ืจื” ืืช ื”ืขืจืš ืฉืœ ื”ื–ืจืข ื”ืงื•ื“ื. ืžืื•ืง ืžื–ืจืข ืืช ื”ืžืกืคืจ ื”ืืงืจืื™
ืžื—ื•ืœืœ ืžื”ืฉืขื•ืŸ ื‘ืืชื—ื•ืœ ื›ืš ืฉืื™ืŸ ืฆื•ืจืš ืืžื™ืชื™ ืœื”ืชืงืฉืจ
srand(). ืกืจื ื“(ื‘ื™ื˜ื•ื™) ืฉื™ืžื•ืฉื™ ืœื—ื–ืจื” ืขืœ ืจืฆืคื™ื ืคืกืื•ื“ื• ืืงืจืื™ื™ื.

9. ืงึถืœึถื˜ ื• ืชืคื•ืงื”
ื™ืฉื ืŸ ืฉืชื™ ื”ืฆื”ืจื•ืช ืคืœื˜, ื”ื“ืคืกื” ื• ื”ื“ืคืก.

ื”ื“ืคืก ื›ื•ืชื‘ $0 ORS ืœืชืคื•ืงื” ืจื’ื™ืœื”.

ื”ื“ืคืกื” ื‘ื™ื˜ื•ื™1, ื‘ื™ื˜ื•ื™2,..., ื‘ื™ื˜ื•ื™n
ื›ื•ืชื‘ ื‘ื™ื˜ื•ื™1 FSO ื‘ื™ื˜ื•ื™2 FSO ... ื‘ื™ื˜ื•ื™n ORS ืœืคืœื˜ ืกื˜ื ื“ืจื˜ื™. ืžืกืคืจื™
ื‘ื™ื˜ื•ื™ื™ื ืžื•ืžืจื™ื ืœืžื—ืจื•ื–ืช ืขื OFMT.

ื”ื“ืคืก ืคื•ึผืจืžึธื˜, expr-list
ืžืฉื›ืคืœ ืืช ื”ืคื•ื ืงืฆื™ื” printf C ืกืคืจื™ื™ืช ื›ืชื™ื‘ืช ืœืคืœื˜ ืกื˜ื ื“ืจื˜ื™. ื”
ืžืคืจื˜ื™ ืคื•ืจืžื˜ ANSI C ืžืœืื™ื ืžื–ื•ื”ื™ื ืขื ื”ืžืจื•ืช %c,
%d, %e, %E, %f, %g, %G, %i, %o, %s, %u, %x, %X ื•-%%, ื•ื”ืžืจื”
ืžื•ืงื“ืžื•ืช h ื•-l.

ืจืฉื™ืžืช ื”ืืจื’ื•ืžื ื˜ื™ื ืœื”ื“ืคืกื” ืื• printf ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืžื•ืงืคืช ื‘ืกื•ื’ืจื™ื™ื. ื”ื“ืคืก
ืคื•ืจืžื˜ ืžืกืคืจื™ื ื‘ืืžืฆืขื•ืช OFMT ืื• "%d" ืขื‘ื•ืจ ืžืกืคืจื™ื ืฉืœืžื™ื ืžื“ื•ื™ืงื™ื. "%c" ืขื ืืจื’ื•ืžื ื˜ ืžืกืคืจื™
ืžื“ืคื™ืก ืืช ื”ืชื• ื”ืžืชืื™ื ืฉืœ 8 ืกื™ื‘ื™ื•ืช, ืขื ืืจื’ื•ืžื ื˜ ืžื—ืจื•ื–ืช ื”ื•ื ืžื“ืคื™ืก ืืช ื”ืจืืฉื•ืŸ
ืื•ืคื™ ื”ืžื—ืจื•ื–ืช. ื ื™ืชืŸ ืœื”ืคื ื•ืช ืืช ื”ืคืœื˜ ืฉืœ print ื•-printf ืœืงื•ื‘ืฅ ืื•
ืคืงื•ื“ื” ืขืœ ื™ื“ื™ ื”ื•ืกืคื” ืฉืœ > ืคื™ืœื”, >> ืคื™ืœื” ืื• | ื”ืคืงื•ื“ื” ืœืกื•ืฃ ื”ื”ืฆื”ืจื” ื”ืžื•ื“ืคืกืช.
ื ื™ืชื•ื‘ ืžื—ื“ืฉ ื ืคืชื— ืคื™ืœื” or ื”ืคืงื•ื“ื” ืจืง ืคืขื ืื—ืช, ื”ื”ืคื ื™ื•ืช ืžื—ื“ืฉ ืขื•ืงื‘ื•ืช ืžืชื•ื•ืกืคื•ืช ืœ-ื›ื‘ืจ
ื–ืจื ืคืชื•ื—. ืœืคื™ ื”ืžื•ืกื›ืžื”, ืžืื•ืง ืžืฉื™ื™ืš ืืช ืฉื ื”ืงื•ื‘ืฅ "/dev/stderr"ืขื stderr ืืฉืจ
ืžืืคืฉืจ ื”ืคื ื™ื™ืช print ื•-printf ืœ-stderr. ืžืื•ืง ืžืฉื™ื™ืš ื’ื "-" ื•
"/dev/stdout" ืขื stdin ื•-stdout ื”ืžืืคืฉืจ ืœื”ืขื‘ื™ืจ ื–ืจืžื™ื ืืœื• ืœืคื•ื ืงืฆื™ื•ืช.

ืคื•ื ืงืฆื™ื™ืช ื”ืงืœื˜ getline ื™ืฉ ืืช ื”ื•ื•ืจื™ืืฆื™ื•ืช ื”ื‘ืื•ืช.

getline
ืงื•ืจื ืœืชื•ืš $0, ืžืขื“ื›ืŸ ืืช ื”ืฉื“ื•ืช, NF, NR ื• FNR.

getline ืคื™ืœื”
ืงื•ืจื ืœืชื•ืš $0 ื”ื—ืœ ืž- ืคื™ืœื”, ืžืขื“ื›ืŸ ืืช ื”ืฉื“ื•ืช ื• NF.

getline ื”ื™ื”
ืงื•ืจื ืืช ื”ืจืฉื•ืžื” ื”ื‘ืื” ืœืชื•ืš ื”ื™ื”, ืขื“ื›ื•ื ื™ื NR ื• FNR.

getline ื”ื™ื” < ืคื™ืœื”
ืงื•ืจื ืืช ื”ืจืฉื•ืžื” ื”ื‘ืื” ืฉืœ ืคื™ืœื” ืืœ ืชื•ืš ื”ื™ื”.

ื”ืคืงื•ื“ื” | getline
ืฆื™ื ื•ืจื•ืช ืจืฉื•ืžื” ืž ื”ืคืงื•ื“ื” ืืœ ืชื•ืš $0 ื•ืžืขื“ื›ืŸ ืืช ื”ืฉื“ื•ืช ื• NF.

ื”ืคืงื•ื“ื” | getline ื”ื™ื”
ืฆื™ื ื•ืจื•ืช ืจืฉื•ืžื” ืž ื”ืคืงื•ื“ื” ืืœ ืชื•ืš ื”ื™ื”.

Getline ืžื—ื–ื™ืจื” 0 ื‘ืกื•ืฃ ื”ืงื•ื‘ืฅ, -1 ื‘ืฉื’ื™ืื”, ืื—ืจืช 1.

ื”ืคืงื•ื“ื•ืช ื‘ืงืฆื” ื”ืฆื™ื ื•ืจื•ืช ืžื‘ื•ืฆืขื•ืช ืขืœ ื™ื“ื™ /bin/sh.

ื”ืคื•ื ืงืฆื™ื” close(ื‘ื™ื˜ื•ื™) ืกื•ื’ืจ ืืช ื”ืงื•ื‘ืฅ ืื• ื”ืฆื™ื ื•ืจ ื”ืžืฉื•ื™ืš ืืœื™ื• ื‘ื™ื˜ื•ื™. ืกื’ื•ืจ ืžื—ื–ื™ืจ 0 ืื
ื‘ื™ื˜ื•ื™ ื”ื•ื ืงื•ื‘ืฅ ืคืชื•ื—, ืžืฆื‘ ื”ื™ืฆื™ืื” ืื ื‘ื™ื˜ื•ื™ ื”ื•ื ืคืงื•ื“ื” ืฆื™ื ื•ืจื™ืช, ื•-1 ืื—ืจืช. ืกื’ื•ืจ
ืžืฉืžืฉ ืœืงืจื™ืื” ื—ื•ื–ืจืช ืฉืœ ืงื•ื‘ืฅ ืื• ืคืงื•ื“ื”, ื•ื“ื ืฉื”ืงืฆื” ื”ืฉื ื™ ืฉืœ ืฆื™ื ื•ืจ ืคืœื˜ ื”ืกืชื™ื™ื
ืื• ืœื—ืกื•ืš ื‘ืžืฉืื‘ื™ ืงื‘ืฆื™ื.

ื”ืคื•ื ืงืฆื™ื” ืœืฉื˜ื•ืฃ(ื‘ื™ื˜ื•ื™) ืžืกืœืง ืืช ืงื•ื‘ืฅ ื”ืคืœื˜ ืื• ื”ืฆื™ื ื•ืจ ื”ืžืฉื•ื™ืš ืืœื™ื• ื‘ื™ื˜ื•ื™. ืกื•ืžืง
ืžื—ื–ื™ืจื” 0 ืื ื‘ื™ื˜ื•ื™ ื”ื•ื ื–ืจื ืคืœื˜ ืคืชื•ื— ืื—ืจ -1. ืกื•ืžืง ืœืœื ื•ื™ื›ื•ื—
stdout. Fflush ืขื ืืจื’ื•ืžื ื˜ ืจื™ืง ("") ืžืกืœืง ื›ืœ ืคืœื˜ ืคืชื•ื—.

ื”ืคื•ื ืงืฆื™ื” ืžืขืจื›ืช(ื‘ื™ื˜ื•ื™) ืฉื™ืžื•ืฉื™ื / Bin / sh ืœื”ื•ืฆื™ื ืœื”ื•ืจื’ ื‘ื™ื˜ื•ื™ ื•ืžื—ื–ื™ืจื” ืืช ืžืฆื‘ ื”ื™ืฆื™ืื” ืฉืœ
ื”ืคืงื•ื“ื” ื‘ื™ื˜ื•ื™. ืฉื™ื ื•ื™ื™ื ืฉื‘ื•ืฆืขื• ื‘- ืขืœ ืื•ื“ื•ืช ืžืขืจืš ืœื ืžื•ืขื‘ืจ ืœืคืงื•ื“ื•ืช ื”ืžื‘ื•ืฆืขื•ืช ืขื
ืžืขืจื›ืช ืื• ืฆื™ื ื•ืจื•ืช.

10. ืžืฉืชืžืฉ ืžื•ื’ื“ืจ ืคื•ื ืงืฆื™ื•ืช
ื”ืชื—ื‘ื™ืจ ืขื‘ื•ืจ ืคื•ื ืงืฆื™ื” ื”ืžื•ื’ื“ืจืช ืขืœ ื™ื“ื™ ืžืฉืชืžืฉ ื”ื•ื

ืคื•ื ืงืฆื™ื” ืฉื ( ื˜ื•ืขืŸ ) { ื”ืฆื”ืจื•ืช }

ื’ื•ืฃ ื”ืคื•ื ืงืฆื™ื” ื™ื›ื•ืœ ืœื”ื›ื™ืœ ื”ืฆื”ืจืช return

ืœึทื—ึฒื–ื•ึนืจ opt_expr

ืื™ืŸ ืฆื•ืจืš ื‘ื”ืฆื”ืจืช ื”ื—ื–ืจื”. ืงืจื™ืื•ืช ืœืคื•ื ืงืฆื™ื•ืช ืขืฉื•ื™ื•ืช ืœื”ื™ื•ืช ืžืงื•ื ื ื•ืช ืื• ืจืงื•ืจืกื™ื‘ื™ื•ืช. ืคื•ื ืงืฆื™ื•ืช
ืžื•ืขื‘ืจื™ื ื‘ื™ื˜ื•ื™ื™ื ืœืคื™ ืขืจืš ื•ืžืขืจื›ื™ื ืœืคื™ ื”ืคื ื™ื”. ื˜ื™ืขื•ื ื™ื ื ื•ืกืคื™ื ืžืฉืžืฉื™ื ื›ืžืงื•ืžื™ื™ื
ืžืฉืชื ื™ื ื•ืžืื•ื—ืœื™ื ืœ ืจื™ืง. ืœื“ื•ื’ืžื”, csplit(ืก,ื) ืฉื ื›ืœ ืชื• ืฉืœ s
ืœืชื•ืš ืžืขืจืš A ื•ืžื—ื–ื™ืจ ืืช ื”ืื•ืจืš ืฉืœ s.

function csplit(s, A, n, i)
{
n = ืื•ืจืš(ื™ื)
for( i = 1 ; i <= n ; i++ ) A[i] = substr(s, i, 1)
ืœื—ื–ื•ืจ ื 
}

ื”ื•ืกืคืช ืจื•ื•ื— ื ื•ืกืฃ ื‘ื™ืŸ ืืจื’ื•ืžื ื˜ื™ื ืฉืขื‘ืจื• ืœืžืฉืชื ื™ื ืžืงื•ืžื™ื™ื ื”ื™ื ืงื•ื ื‘ื ืฆื™ื•ื ืœื™ืช.
ื ื™ืชืŸ ืœื”ืคื ื•ืช ืœืคื•ื ืงืฆื™ื•ืช ืœืคื ื™ ื”ื’ื“ืจืชืŸ, ืื‘ืœ ืฉื ื”ืคื•ื ืงืฆื™ื” ื•ื”-'(' ืฉืœ
ื”ื˜ื™ืขื•ื ื™ื ื—ื™ื™ื‘ื™ื ืœื’ืขืช ื›ื“ื™ ืœืžื ื•ืข ื‘ืœื‘ื•ืœ ืขื ืฉืจืฉื•ืจ.

11. ืคื™ืฆื•ืœ ืžื—ืจื•ื–ื•ืช, ืจืฉื•ื ื• ืงื‘ืฆื™ื
ืชื•ื›ื ื™ื•ืช Awk ืžืฉืชืžืฉื•ืช ื‘ืื•ืชื• ืืœื’ื•ืจื™ืชื ื›ื“ื™ ืœืคืฆืœ ืžื—ืจื•ื–ื•ืช ืœืžืขืจื›ื™ื ืขื split(), ื•ืจืฉื•ืžื•ืช
ืœืชื•ืš ืฉื“ื•ืช ืขืœ FS. ืžืื•ืง ืžืฉืชืžืฉ ื‘ืขืฆื ื‘ืื•ืชื• ืืœื’ื•ืจื™ืชื ื›ื“ื™ ืœืคืฆืœ ืงื‘ืฆื™ื ืœืจืฉื•ืžื•ืช
on RS.

ืœึฐืคึทืฆึตืœ(expr,A,sep) ืคื•ืขืœ ื‘ืื•ืคืŸ ื”ื‘ื:

(1) ืื ืกืคื˜ืžื‘ืจ ืžื•ืฉืžื˜, ื”ื•ื ืžื•ื—ืœืฃ ื‘ FS. ืกืคื˜ืžื‘ืจ ื™ื›ื•ืœ ืœื”ื™ื•ืช ื‘ื™ื˜ื•ื™ ืื•
ื”ื‘ืขื” ืจื’ื™ืœื”. ืื ื–ื” ื‘ื™ื˜ื•ื™ ืžืกื•ื’ ืฉืื™ื ื• ืžื—ืจื•ื–ืช, ื–ื” ื›ืŸ
ื”ื•ืžืจ ืœืžื—ืจื•ื–ืช.

(2) ืื ืกืคื˜ืžื‘ืจ = " " (ืจื•ื•ื— ื‘ื•ื“ื“), ืื– ื’ื–ื•ื– ืžืœืคื ื™ื ื•
ื”ื—ืœืง ื”ืื—ื•ืจื™ ืฉืœ ื‘ื™ื˜ื•ื™, ื• ืกืคื˜ืžื‘ืจ ื”ื•ืคืš . ืžืื•ืง ืžื’ื“ื™ืจ ื›ืžื• ื”ืจื’ื™ืœ
ื‘ื™ื˜ื•ื™ /[ \t\n]+/. ืื—ืจืช ืกืคื˜ืžื‘ืจ ืžืชื™ื™ื—ืกื™ื ืืœื™ื• ื›ืืœ ื‘ื™ื˜ื•ื™ ืจื’ื™ืœ,
ืืœื ืฉืžืชืขืœืžื™ื ืžืชื•ื•ื™ื ืžื˜ื ืขื‘ื•ืจ ืžื—ืจื•ื–ืช ื‘ืื•ืจืš 1, ืœืžืฉืœ,
split(x, A, "*") ื•-split(x, A, /\*/) ื–ื”ื™ื.

(3) ืื ื‘ื™ื˜ื•ื™ ืื™ื ื• ืžื—ืจื•ื–ืช, ื”ื•ื ืžื•ืžืจ ืœืžื—ืจื•ื–ืช. ืื ื‘ื™ื˜ื•ื™ ื”ื•ื ืื– ื”ืจื™ืง
ืžื—ืจื•ื–ืช "", split() ืžื—ื–ื™ืจื” 0 ื• A ืžื•ื’ื“ืจ ืจื™ืง. ืื—ืจืช, ื›ืœ ื”ืœื-
ื”ืชืืžื•ืช ื—ื•ืคืคื•ืช, ืœื ืืคืก ื•ื”ืืจื•ืš ื‘ื™ื•ืชืจ ืฉืœ ืกืคื˜ืžื‘ืจ in ื‘ื™ื˜ื•ื™, ื ืคืจื“ ื‘ื™ื˜ื•ื™ ืืœ ืชื•ืš
ืฉื“ื•ืช ืฉื ื˜ืขื ื™ื ืœืชื•ื›ื A. ื”ืฉื“ื•ืช ืžืžื•ืงืžื™ื ื‘-A[1], A[2], ...,
A[n] ื•-split() ืžื—ื–ื™ืจื™ื ืืช n, ืžืกืคืจ ื”ืฉื“ื•ืช ืฉื”ื•ื ื”ืžืกืคืจ ืฉืœ
ื”ืชืืžื•ืช ืคืœื•ืก ืื—ื“. ื ืชื•ื ื™ื ืฉื”ื•ื›ื ืกื• A ืฉื ืจืื” ืžืกืคืจื™ ื”ื•ื ืžื•ืงืœื“ ืžืกืคืจ ื•
ืžื—ืจื•ื–ืช.

ืคื™ืฆื•ืœ ืจืฉื•ืžื•ืช ืœืฉื“ื•ืช ืขื•ื‘ื“ ืื•ืชื• ื”ื“ื‘ืจ ืœืžืขื˜ ื”ื—ืœืงื™ื ื ื˜ืขื ื™ื $1, $2, ...,
$NF. ืื $0 ื–ื” ืจื™ืง, NF ืžื•ื’ื“ืจ ืœ-0 ื•ื”ื›ืœ $i ืœ "".

ืžืื•ืง ืžืคืฆืœ ืงื‘ืฆื™ื ืœืจืฉื•ืžื•ืช ืขืœ ื™ื“ื™ ืื•ืชื• ืืœื’ื•ืจื™ืชื, ืื‘ืœ ื‘ื”ื‘ื“ืœ ื”ืงืœ
RS ื”ื•ื ื‘ืืžืช ืžืกื™ื™ื ื‘ืžืงื•ื ืžืคืจื™ื“. (ORS ื”ื•ื ื‘ืืžืช ื’ื ื˜ืจืžื™ื ื˜ื•ืจ).

ืœืžืฉืœ, ืื FS = ":+" ื• $0 = "a::b:" , ืื– NF = 3 ื•- $1 = "ื", $2 = "b" ื• $3 =
"", ืื‘ืœ ืื "a::b:" ื”ื•ื ื”ืชื•ื›ืŸ ืฉืœ ืงื•ื‘ืฅ ืงืœื˜ ื• RS = ":+", ืื– ื™ืฉ
ืฉื ื™ ืจืฉื•ืžื•ืช "a" ื•-"b".

RS = " " ืื™ื ื• ืžื™ื•ื—ื“.

If FS = "", ืื– ืžืื•ืง ืฉื•ื‘ืจืช ืืช ื”ืฉื™ื ืœื“ืžื•ื™ื•ืช ื‘ื•ื“ื“ื•ืช, ื•ื‘ื“ื•ืžื”,
ืœึฐืคึทืฆึตืœ(ืก,ื,"") ืžืžืงื ืืช ื”ืชื•ื•ื™ื ื”ืื™ืฉื™ื™ื ืฉืœ s ืืœ ืชื•ืš A.

12. ืจื‘ ืงื• ืจืฉื•ื
ื”ืฉืืœื” ื”ื™ื ืื™ืš? ืžืื•ืง ืžืคืจืฉ RS ื›ื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™, ืจืฉื•ืžื•ืช ืžืจื•ื‘ื•ืช ืฉื•ืจื•ืช ื”ืŸ ืงืœื•ืช. ื”ื’ื“ืจื” RS
= "\n\n+", ื’ื•ืจื ืœืฉื•ืจื” ืจื™ืงื•ืช ืื—ืช ืื• ื™ื•ืชืจ ืœื”ืคืจื™ื“ ื‘ื™ืŸ ืจืฉื•ืžื•ืช. ืื FS = " " (ื‘ืจื™ืจืช ื”ืžื—ื“ืœ),
ื•ืื– ืฉื•ืจื•ืช ื—ื“ืฉื•ืช ื‘ื•ื“ื“ื•ืช, ืœืคื™ ื”ื›ืœืœื™ื ืขื‘ื•ืจ ืœืžืขืœื”, ื”ื•ืคื›ื™ื ืœืžืจื—ื‘ ื•ืฉื•ืจื•ืช ื—ื“ืฉื•ืช ื‘ื•ื“ื“ื•ืช ื”ืŸ
ืžืคืจื™ื“ื™ ืฉื“ื•ืช.

ืœื“ื•ื’ืžื”, ืื ืงื•ื‘ืฅ ื”ื•ื "ab\nc\n\n", RS = "\n\n+" ื• FS = " ", ืื– ื™ืฉ
ืจืฉื•ืžื” ืื—ืช "ab\nc" ืขื ืฉืœื•ืฉื” ืฉื“ื•ืช "a", "b" ื•-"c". ืžึดืฉืึฐืชึทื ึถื” FS = "\n", ื ื•ืชืŸ
ืฉื ื™ ืฉื“ื•ืช "ab" ื•-"c"; ืžึดืฉืึฐืชึทื ึถื” FS = "", ื ื•ืชืŸ ืฉื“ื” ืื—ื“ ื–ื”ื” ืœ-
ืชืงืœื™ื˜.

ืื ืืชื” ืจื•ืฆื” ืฉืงื•ื•ื™ื ืขื ืจื•ื•ื—ื™ื ืื• ื˜ืื‘ื™ื ื™ื™ื—ืฉื‘ื• ืจื™ืงื™ื, ื”ื’ื“ืจ RS = "\n([ \t]*\n)+".
ืœืชืื™ืžื•ืช ืขื awks ืื—ืจื™ื, ื”ื’ื“ืจื” RS ="" ื™ืฉ ืื•ืชื• ืืคืงื˜ ื›ืžื• ืื ืฉื•ืจื•ืช ืจื™ืงื•ืช
ืžื•ืคืฉื˜ื™ื ืžื”ื—ืœืง ื”ืงื“ืžื™ ื•ื”ืื—ื•ืจื™ ืฉืœ ืงื‘ืฆื™ื ื•ืื– ื ืงื‘ืขื™ื ืจืฉื•ืžื•ืช ื›ืื™ืœื• RS =
"\n\n+". Posix ื“ื•ืจืฉ ืฉ"\n" ืชืžื™ื“ ื™ืคืจื™ื“ ื‘ื™ืŸ ืจืฉื•ืžื•ืช ื›ืืฉืจ RS = "" ืœืœื ืงืฉืจ ืœ-
ืขืจืš ืฉืœ FS. ืžืื•ืง ืื™ื ื• ืชื•ืžืš ื‘ืืžื ื” ื–ื•, ืžื›ื™ื•ื•ืŸ ืฉื”ื’ื“ืจืช "\n" ื‘ืชื•ืจ
ืขื•ืฉื” ืืช ื–ื” ืžื™ื•ืชืจ.

ืจื•ื‘ ื”ื–ืžืŸ ื›ืฉืืชื” ืžืฉืชื ื” RS ืขื‘ื•ืจ ืจืฉื•ืžื•ืช ืžืจื•ื‘ื•ืช ืฉื•ืจื•ืช, ืชืจืฆื” ื’ื ืœืฉื ื•ืช
ORS ืœ-"\n\n" ื›ืš ืฉืžืจื•ื•ื— ื”ืจืฉื•ืžื•ืช ื™ื™ืฉืžืจ ื‘ืคืœื˜.

13. ืชึธื›ึฐื ึดื™ืช ื”ื•ืฆืืช ืœื”ื•ืจื’
ืกืขื™ืฃ ื–ื” ืžืชืืจ ืืช ืกื“ืจ ื‘ื™ืฆื•ืข ื”ืชื•ื›ื ื™ืช. ืจืืฉื•ืŸ ARGC ืžื•ื’ื“ืจ ืœืกืš ื”ื›ืœ
ืžืกืคืจ ื”ืืจื’ื•ืžื ื˜ื™ื ืฉืœ ืฉื•ืจืช ื”ืคืงื•ื“ื” ืฉื”ื•ืขื‘ืจื• ืœืฉืœื‘ ื”ื‘ื™ืฆื•ืข ืฉืœ ื”ืชื•ื›ื ื™ืช. ARGV[0] is
ื”ื’ื“ืจ ืืช ื”ืฉื ืฉืœ ื”ืžืชื•ืจื’ืžืŸ AWK ื• ARGV[1] ... ARGV[ARGC-1] ืžื—ื–ื™ืง ืืช ื”ื ื•ืชืจื™ื
ืืจื’ื•ืžื ื˜ื™ื ืฉืœ ืฉื•ืจืช ื”ืคืงื•ื“ื” ื‘ืœืขื“ื™ ืืคืฉืจื•ื™ื•ืช ื•ืžืงื•ืจ ืชื•ื›ื ื™ืช. ืœืžืฉืœ ืขื

mawk -f prog v=1 A t=hello B

ARGC = 5 ืขื ARGV[0] = "ืžืื•ืง", ARGV[1] = "v=1", ARGV[2] = "ื", ARGV[3] = "t=ืฉืœื•ื" ื•
ARGV[4] = "B".

ื”ื‘ื, ื›ืœ ืื—ื“ ื”ืชื—ืœ ื”ื—ืกื™ืžื” ืžื‘ื•ืฆืขืช ืœืคื™ ื”ืกื“ืจ. ืื ื”ืชื•ื›ื ื™ืช ืžื•ืจื›ื‘ืช ื›ื•ืœื” ืž ื”ืชื—ืœ
ื—ื•ืกื, ื•ืื– ื”ื‘ื™ืฆื•ืข ืžืกืชื™ื™ื, ืื—ืจืช ื–ืจื ืงืœื˜ ื ืคืชื— ื•ื”ื‘ื™ืฆื•ืข ืžืžืฉื™ืš.
If ARGC ืฉื•ื•ื” ืœ-1, ื–ืจื ื”ืงืœื˜ ืžื•ื’ื“ืจ ืœ-stdin, ืื—ืจืช ื”ืืจื’ื•ืžื ื˜ื™ื ืฉืœ ืฉื•ืจืช ื”ืคืงื•ื“ื”
ARGV[1] ... ARGV[ARGC-1] ื ื‘ื“ืงื™ื ืขื‘ื•ืจ ืืจื’ื•ืžื ื˜ ืงื•ื‘ืฅ.

ื”ืืจื’ื•ืžื ื˜ื™ื ืฉืœ ืฉื•ืจืช ื”ืคืงื•ื“ื” ืžืชื—ืœืงื™ื ืœืฉืœื•ืฉ ืงื‘ื•ืฆื•ืช: ืืจื’ื•ืžื ื˜ื™ื ืฉืœ ืงื•ื‘ืฅ, ืืจื’ื•ืžื ื˜ื™ื ืœื”ืงืฆืื”
ื•ืžื—ืจื•ื–ื•ืช ืจื™ืงื•ืช "". ืœืžื˜ืœื” ื™ืฉ ืืช ื”ื˜ื•ืคืก ื”ื™ื”=ืžื—ืจื•ื–ืช. ื›ืืฉืจ an ARGV[i] ื ื‘ื“ืงืช
ื›ืืจื’ื•ืžื ื˜ ืงื•ื‘ืฅ ืืคืฉืจื™, ืื ื”ื•ื ืจื™ืง ื”ื•ื ืžื“ืœื’; ืื ื–ื• ืžืฉื™ืžื”
ื˜ื™ืขื•ืŸ, ื”ืžืฉื™ืžื” ืœ ื”ื™ื” ืžืชืจื—ืฉ ื• i ืžื“ืœื’ ืœื˜ื™ืขื•ืŸ ื”ื‘ื; ืึทื—ึตืจ ARGV[i]
ื ืคืชื— ืœืงืœื˜. ืื ื”ื•ื ืœื ืžืฆืœื™ื— ืœื”ื™ืคืชื—, ื”ื‘ื™ืฆื•ืข ืžืกืชื™ื™ื ืขื ืงื•ื“ ื™ืฆื™ืื” 2. ืื ืœื
ืืจื’ื•ืžื ื˜ ืฉื•ืจืช ื”ืคืงื•ื“ื” ื”ื•ื ืืจื’ื•ืžื ื˜ ืงื•ื‘ืฅ, ื•ืื– ื”ืงืœื˜ ืžื’ื™ืข ืž-stdin. Getline ื‘ ื ื”ืชื—ืœ
ืคืขื•ืœื” ืคื•ืชื—ืช ืงืœื˜. "-" ื›ืืจื’ื•ืžื ื˜ ืงื•ื‘ืฅ ืžืฆื™ื™ืŸ stdin.

ื‘ืจื’ืข ืฉื–ืจื ืงืœื˜ ืคืชื•ื—, ื›ืœ ืจืฉื•ืžืช ืงืœื˜ ื ื‘ื“ืงืช ืžื•ืœ ื›ืœ ืื—ืช ืžื”ืŸ ื“ืคื•ืก, ื•ืื ื–ื”
ื”ืชืืžื•ืช, ื”ืžืฉื•ื™ื›ื•ืช ืคืขื•ืœื” ืžื•ืฆื ืœื”ื•ืจื’. ืชื‘ื ื™ืช ื‘ื™ื˜ื•ื™ ืชื•ืืžืช ืื ื›ืŸ
Boolean true (ืจืื” ืกื•ืฃ ืกืขื™ืฃ 2). ื ื”ืชื—ืœ ื“ืคื•ืก ืชื•ืื ืœืคื ื™ ืฉื™ืฉ ืงืœื˜ ื›ืœืฉื”ื•
ื ืงืจื, ื•ื›ืŸ ื”ืกื•ืฃ ื”ื“ืคื•ืก ืชื•ืื ืœืื—ืจ ืงืจื™ืืช ื›ืœ ื”ืงืœื˜. ื“ืคื•ืก ื˜ื•ื•ื—,
ื‘ื™ื˜ื•ื™1,ื‘ื™ื˜ื•ื™2 , ืžืชืื™ื ืœื›ืœ ืฉื™ื ื‘ื™ืŸ ื”ืžืฉื—ืง ืฉืœ ื‘ื™ื˜ื•ื™1 ื•ื”ื”ืชืืžื” ื‘ื™ื˜ื•ื™2
ื‘ืื•ืคืŸ ื›ื•ืœืœื ื™.

ื›ืืฉืจ ืกื•ืฃ ื”ืงื•ื‘ืฅ ืžืชืจื—ืฉ ื‘ื–ืจื ื”ืงืœื˜, ื”ืืจื’ื•ืžื ื˜ื™ื ื”ื ื•ืชืจื™ื ืฉืœ ืฉื•ืจืช ื”ืคืงื•ื“ื” ื”ื
ื ื‘ื“ืง ืขื‘ื•ืจ ืืจื’ื•ืžื ื˜ ืงื•ื‘ืฅ, ื•ืื ื™ืฉ ื›ื–ื” ื”ื•ื ื ืคืชื—, ืื—ืจืช ืืช ื”ืกื•ืฃ ื“ืคื•ืก is
ื ื—ืฉื‘ ืžื•ืชืื ื•ื”ื›ืœ ื”ืกื•ืฃ ืคืขื•ืœื•ืช ืžื•ืฆืื™ื ืœื”ื•ืจื’.

ื‘ื“ื•ื’ืžื”, ื”ื”ืงืฆืื” v=1 ืžืชืจื—ืฉืช ืœืื—ืจ ื”- ื”ืชื—ืœ ืคืขื•ืœื•ืช ืžื•ืฆืื™ื ืœื”ื•ืจื’, ื•
ื”ื ืชื•ื ื™ื ื”ืžืžื•ืงืžื™ื ื‘-v ืžื•ืงืœื“ื™ื ืžืกืคืจ ื•ืžื—ืจื•ื–ืช. ื”ืงืœื˜ ื ืงืจื ืœืื—ืจ ืžื›ืŸ ืžืงื•ื‘ืฅ A. ื‘ืกื•ืฃ
ืฉืœ ืงื•ื‘ืฅ A, t ืžื•ื’ื“ืจ ืœืžื—ืจื•ื–ืช "hello", ื•-B ื ืคืชื— ืœืงืœื˜. ื‘ืกื•ืฃ ืงื•ื‘ืฅ ื‘',
ืžื” ื”ื™ื ื”ืกื•ืฃ ืคืขื•ืœื•ืช ืžื•ืฆืื™ื ืœื”ื•ืจื’.

ื–ืจื™ืžืช ื”ืชื•ื›ื ื™ืช ื‘ ื“ืคื•ืก {ืคืขื•ืœื”} ื ื™ืชืŸ ืœืฉื ื•ืช ืืช ื”ืจืžื” ืขื

ื”ื‘ื
ื™ืฆื™ืื” opt_expr

ื”ืฆื”ืจื•ืช. ื ื”ื‘ื ื”ืžืฉืคื˜ ื’ื•ืจื ืœืงืจื™ืื” ืฉืœ ืจืฉื•ืžืช ื”ืงืœื˜ ื”ื‘ืื” ื•ืœื‘ื“ื™ืงืช ื“ืคื•ืกื™ื
ื›ื“ื™ ืœื”ืชื—ื™ืœ ืžื—ื“ืฉ ืขื ื”ืจืืฉื•ืŸ ื“ืคื•ืก {ืคืขื•ืœื”} ื–ื•ื’ ื‘ืชื•ื›ื ื™ืช. ื ื™ืฆื™ืื” ืืžื™ืจื” ื’ื•ืจืžืช
ื‘ื™ืฆื•ืข ืžื™ื™ื“ื™ ืฉืœ ื” ื”ืกื•ืฃ ืคืขื•ืœื•ืช ืื• ืกื™ื•ื ืชื•ื›ื ื™ืช ืื ืื™ืŸ ื›ืืœื” ืื• ืื
ื™ืฆื™ืื” ืžืชืจื—ืฉืช ื‘ ื”ืกื•ืฃ ืคืขื•ืœื”. ื” opt_expr ืžื’ื“ื™ืจ ืืช ืขืจืš ื”ื™ืฆื™ืื” ืฉืœ ื”ืชื•ื›ื ื™ืช ืืœื ืื ื›ืŸ
ื ื“ื—ืง ืขืœ ื™ื“ื™ ืžืื•ื—ืจ ื™ื•ืชืจ ื™ืฆื™ืื” ืื• ืฉื’ื™ืื” ืฉืœืื—ืจ ืžื›ืŸ.

ื“ื•ื’ืžืื•ืช


1. ืœื—ืงื•ืช ื—ืชื•ืœ.

{ ื”ื“ืคืก }

2. ืœื—ืงื•ืช ืืช wc.

{ chars += length($0) + 1 # ื”ื•ืกืฃ ืื—ื“ ืขื‘ื•ืจ \n
ืžื™ืœื™ื += NF
}

END{ ื”ื“ืคืก NR, ืžื™ืœื™ื, ืชื•ื•ื™ื }

3. ืœืกืคื•ืจ ืืช ืžืกืคืจ ื”"ืžื™ืœื™ื ื”ืืžื™ืชื™ื•ืช" ื”ื™ื™ื—ื•ื“ื™ื•ืช.

ื”ืชื—ืœ { FS = "[^A-Za-z]+" }

{ for(i = 1 ; i <= NF ; i++) word[$i] = "" }

END { ืžื—ืง ืžื™ืœื”[""]
ืขื‘ื•ืจ (i ื‘ืžื™ืœื”) cnt++
ื”ื“ืคืก cnt
}

4. ืœืกื›ื ืืช ื”ืฉื“ื” ื”ืฉื ื™ ืฉืœ ื›ืœ ืจืฉื•ืžื” ืขืœ ืกืžืš ื”ืฉื“ื” ื”ืจืืฉื•ืŸ.

$1 ~ /credit|gain/ { sum += $2 }
$1 ~ /ื—ื™ื•ื‘|ื”ืคืกื“/ { sum -= $2 }

END { ืกื›ื•ื ื”ื“ืคืกื” }

5. ืžื™ื™ืŸ ืงื•ื‘ืฅ, ื”ืฉื•ื•ืื” ื›ืžื—ืจื•ื–ืช

{ line[NR] = $0 "" } # ื•ื“ื ืฉื™ืฉ ืกื•ื’ ื”ืฉื•ื•ืื”
# ืœืžืงืจื” ืฉื—ืœืง ืžื”ืฉื•ืจื•ืช ื ืจืื•ืช ืžืกืคืจื™ื•ืช

END { isort(line, NR)
for(i = 1 ; i <= NR ; i++) print line[i]
}

#insertion ืกื•ื’ ืฉืœ A[1..n]
function isort( A, n, i, j, hold)
{
for( i = 2 ; i <= n ; i++)
{
ื”ื—ื–ืง = A[j = i]
while ( A[j-1] > ื”ื—ื–ืงื” )
{ j-- ; A[j+1] = A[j] }
A[j] = ื”ื—ื–ืงื”
}
# sentinel A[0] = "" ื™ื™ื•ื•ืฆืจ ื‘ืžื™ื“ืช ื”ืฆื•ืจืš
}

ืชึฐืึดื™ืžื•ึผืช ืกื•ื’ื™ื•ืช


ื”ื”ื’ื“ืจื” ืฉืœ Posix 1003.2 (ื˜ื™ื•ื˜ื” 11.3) ืฉืœ ืฉืคืช ื”-AWK ื”ื™ื AWK ื›ืžืชื•ืืจ ื‘-AWK
ืกืคืจ ืขื ื›ืžื” ื”ืจื—ื‘ื•ืช ืฉื”ื•ืคื™ืขื• ื‘-SystemVR4 nawk. ื”ื”ืจื—ื‘ื•ืช ื”ืŸ:

ืคื•ื ืงืฆื™ื•ืช ื—ื“ืฉื•ืช: toupper() ื•-tolower().

ืžืฉืชื ื™ื ื—ื“ืฉื™ื: ENVIRON[] ื•-CONVFMT.

ืžืคืจื˜ื™ ื”ืžืจื” ืฉืœ ANSI C ืขื‘ื•ืจ printf() ื•-sprintf().

ืืคืฉืจื•ื™ื•ืช ืคืงื•ื“ื” ื—ื“ืฉื•ืช: -v var=value, ืืคืฉืจื•ื™ื•ืช -f ืžืจื•ื‘ื•ืช ื•ืืคืฉืจื•ื™ื•ืช ื™ื™ืฉื•ื
ื›ื˜ื™ืขื•ื ื™ื ืœ-W.

Posix AWK ืžื›ื•ื•ืŸ ืœืคืขื•ืœ ืขืœ ืงื‘ืฆื™ื ืฉื•ืจื” ื‘ื›ืœ ืคืขื. RS ื ื™ืชืŸ ืœืฉื ื•ืช ืž"\n"
ืœื“ืžื•ืช ื‘ื•ื“ื“ืช ืื—ืจืช, ืื‘ืœ ืงืฉื” ืœืžืฆื•ื ืœื–ื” ืฉื™ืžื•ืฉ - ืื™ืŸ
ื“ื•ื’ืžืื•ืช ื‘ืกืคืจ AWK. ืœืคื™ ื”ืžื•ืกื›ืžื”, RS = "", ื’ื•ืจื ืœืฉื•ืจื” ืจื™ืงื•ืช ืื—ืช ืื• ื™ื•ืชืจ ืœื”ืคืจื™ื“
ืจืฉื•ืžื•ืช, ื”ืžืืคืฉืจื•ืช ืจืฉื•ืžื•ืช ืžืจื•ื‘ื•ืช ืฉื•ืจื•ืช. ืžืชื™ RS = "", "\n" ื”ื•ื ืชืžื™ื“ ืžืคืจื™ื“ ืฉื“ื•ืช
ืœืœื ืงืฉืจ ืœืขืจืš ื‘ FS.

ืžืื•ืง, ืžืฆื“ ืฉื ื™, ืžืืคืฉืจ RS ืœื”ื™ื•ืช ื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™. ื›ืืฉืจ "\n" ืžื•ืคื™ืข ื‘
ืจืฉื•ืžื•ืช, ื”ื•ื ืžื˜ื•ืคืœ ื›ืžืจื—ื‘, ื• FS ืชืžื™ื“ ืงื•ื‘ืข ืฉื“ื•ืช.

ื”ืกืจืช ื”ืงื• ื‘ื›ืœ ืคืขื ืคืจื“ื™ื’ืžืช ื™ื›ื•ืœื” ืœื”ืคื•ืš ืชื•ื›ื ื™ื•ืช ืžืกื•ื™ืžื•ืช ืœืคืฉื•ื˜ื•ืช ื™ื•ืชืจ ื•ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื™ื›ื•ืœื” ืœื”ืฉืชืคืจ
ื‘ื™ืฆื•ืขื™ื. ืœื“ื•ื’ืžื”, ื‘ื™ืฆื•ืข ืžื—ื“ืฉ ืฉืœ ื“ื•ื’ืžื” 3 ืžืœืžืขืœื”,

ื”ืชื—ืœ { RS = "[^A-Za-z]+" }

{ word[ $0 ] = "" }

END { ืžื—ืง ืžื™ืœื”[ "" ]
for(i ื‘ืžื™ืœื”) cnt++
ื”ื“ืคืก cnt
}

ืกื•ืคืจ ืืช ืžืกืคืจ ื”ืžื™ืœื™ื ื”ื™ื™ื—ื•ื“ื™ื•ืช ืขืœ ื™ื“ื™ ื”ืคื™ื›ืช ื›ืœ ืžื™ืœื” ืœืจืฉื•ืžื”. ืขืœ ืงื‘ืฆื™ื ื‘ื’ื•ื“ืœ ื‘ื™ื ื•ื ื™,
ืžืื•ืง ืžื‘ืฆืขื™ื ืคื™ ืฉื ื™ื™ื ืžื”ืจ ื™ื•ืชืจ, ื‘ื’ืœืœ ื”ืœื•ืœืื” ื”ืคื ื™ืžื™ืช ื”ืคืฉื•ื˜ื”.

ื”ืชื•ื›ื ื™ืช ื”ื‘ืื” ืžื—ืœื™ืคื” ื›ืœ ื”ืขืจื” ื‘ืจื•ื•ื— ื‘ื•ื“ื“ ื‘ืงื•ื‘ืฅ ืชื•ื›ื ื™ืช C,

ื”ืชื—ืœ {
RS = "/\*([^*]|\*+[^/*])*\*+/"
ืชื’ื•ื‘ื” ืื—ืช ื”ื™ื ืžืคืจื™ื“ ืจืฉื•ืžื•ืช
ORS = " "
getline hold
}

{ ื”ื“ืคืกืช ื”ื—ื–ืงื”; ื”ื—ื–ืง = $0 }

END { printf "%s" , ื”ื—ื–ืง }

ื™ืฉ ืฆื•ืจืš ื‘ืื’ื™ืจืช ืจืฉื•ืžื” ืื—ืช ื›ื“ื™ ืœืžื ื•ืข ืกื™ื•ื ื”ืจืฉื•ืžื” ื”ืื—ืจื•ื ื” ืขื ืจื•ื•ื—.

ืขื ืžืื•ืง, ื›ื•ืœื ืฉื•ื•ื™ื,

x ~ /a\+b/ x ~ "a\+b" x ~ "a\\+b"

ื”ืžื—ืจื•ื–ื•ืช ื ืกืจืงื•ืช ืคืขืžื™ื™ื, ืคืขื ืื—ืช ื›ืžื—ืจื•ื–ืช ื•ืคืขื ื›ื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™. ืขืœ
ืกืจื™ืงืช ืžื—ืจื•ื–ืช, ืžืื•ืง ืžืชืขืœื ืžื”ื‘ืจื™ื—ื” ืขืœ ื“ืžื•ื™ื•ืช ืฉืื™ื ืŸ ื‘ืจื™ื—ื” ื‘ืขื•ื“ ืกืคืจ AWK ื“ื•ื’ืœ
\c ืœื”ื™ื•ืช ืžื•ื›ืจ ื› c ืžื” ืฉืžื—ื™ื™ื‘ ื‘ืจื™ื—ื” ื›ืคื•ืœื” ืฉืœ ืžื˜ื-ืชื•ื•ื™ื ืคื ื™ืžื”
ืžื—ืจื•ื–ื•ืช. Posix ืžืกืจื‘ ื‘ืžืคื•ืจืฉ ืœื”ื’ื“ื™ืจ ืืช ื”ื”ืชื ื”ื’ื•ืช ืฉื›ื•ืคื” ื‘ืื•ืคืŸ ืคืกื™ื‘ื™ ืชื•ื›ื ื™ื•ืช
ื–ื” ื—ื™ื™ื‘ ืœืจื•ืฅ ืชื—ืช ืžื’ื•ื•ืŸ ืฉืœ awks ื›ื“ื™ ืœื”ืฉืชืžืฉ ื ื™ื™ื“ ื™ื•ืชืจ ืื‘ืœ ืคื—ื•ืช ืงืจื™ื, ื›ืคื•ืœ
ื‘ืจื™ื—ื”.

Posix AWK ืœื ืžื–ื”ื” "/dev/std{out,err}" ืื• \x hex ืจืฆืคื™ ื‘ืจื™ื—ื” ื‘ืžื—ืจื•ื–ื•ืช.
ื‘ื ื™ื’ื•ื“ ืœ-ANSI C, ืžืื•ืง ืžื’ื‘ื™ืœ ืืช ืžืกืคืจ ื”ืกืคืจื•ืช ืฉืื—ืจื™ \x ืœืฉืชื™ื™ื ื›ื–ืจื
ื™ื™ืฉื•ื ืชื•ืžืš ืจืง ื‘ืชื•ื•ื™ื ืฉืœ 8 ืกื™ื‘ื™ื•ืช. ื”ืžื•ื‘ื ื” ืœืฉื˜ื•ืฃ ื”ื•ืคื™ืข ืœืจืืฉื•ื ื” ื‘-a
ืœืื—ืจื•ื ื” (1993) AT&T awk ืฉื•ื—ืจืจ ืœ-netlib, ื•ืื™ื ื• ื—ืœืง ืžืชืงืŸ posix.
ืžื—ื™ืงื” ืžืฆื˜ื‘ืจืช ืขื ืœื”ืกื™ืจ ืžืขืจืš ืื™ื ื• ื—ืœืง ืžืชืงืŸ posix.

Posix ืขื•ื–ื‘ ื‘ืžืคื•ืจืฉ ืืช ื”ื”ืชื ื”ื’ื•ืช ืฉืœ FS = "" ืœื ืžื•ื’ื“ืจ, ื•ืžื–ื›ื™ืจ ืคื™ืฆื•ืœ ืฉืœ
ืœื”ืงืœื™ื˜ ืœืชื•ื•ื™ื ื›ืคื™ืจื•ืฉ ืืคืฉืจื™, ืื‘ืœ ื›ืจื’ืข ื”ืฉื™ืžื•ืฉ ื”ื–ื” ืœื
ื ื™ื™ื“ ืขืœ ืคื ื™ ื™ื™ืฉื•ืžื™ื.

ืœื‘ืกื•ืฃ, ื”ื ื” ืื™ืš ืžืื•ืง ืžื˜ืคืœ ื‘ืžืงืจื™ื ื—ืจื™ื’ื™ื ืฉืœื ื ื“ื•ื ื• ื‘ืกืคืจ AWK ืื• ื‘
ื˜ื™ื•ื˜ืช Posix. ื–ื” ืœื ื‘ื˜ื•ื— ืœื”ื ื™ื— ืขืงื‘ื™ื•ืช ืขืœ ืคื ื™ awks ื•ื‘ื˜ื•ื— ืœื“ืœื’ ืืœ ื”ื‘ื
ืกึธืขึดื™ืฃ.

substr(s, i, n) ืžื—ื–ื™ืจื” ืืช ื”ืชื•ื•ื™ื ืฉืœ s ื‘ืฆื•ืžืช ืฉืœ ื”ืกื’ื•ืจ
ืžืจื•ื•ื— [1, ืื•ืจืš(ื™ื)] ื•ื”ืžืจื•ื•ื— ื”ื—ืฆื™ ืคืชื•ื— [i, i+n). ื›ืฉื–ื”
ื”ืฆื•ืžืช ืจื™ืงื”, ื”ืžื—ืจื•ื–ืช ื”ืจื™ืงื” ืžื•ื—ื–ืจืช; so substr("ABC", 1, 0) = ""
ื•-substr("ABC", -4, 6) = "A".

ื›ืœ ืžื—ืจื•ื–ืช, ื›ื•ืœืœ ื”ืžื—ืจื•ื–ืช ื”ืจื™ืงื”, ืชื•ืืžืช ืืช ื”ืžื—ืจื•ื–ืช ื”ืจื™ืงื” ื‘ื—ื–ื™ืช ื›ืš,
s ~ // ื•-s ~ "", ื”ื ืชืžื™ื“ 1 ื›ืžื• ื”ืชืืžื”(ื™ื, //) ื•ื”ืชืืžื”(ื™ื, ""). ื”ืฉื ื™ื™ื ื”ืื—ืจื•ื ื™ื
ืกื˜ RLENGTH ืืœ 0.

ืื™ื ื“ืงืก(ื™ื, t) ื–ื”ื” ืชืžื™ื“ ืœื”ืชืืžื”(ื™ื, t1) ื›ืืฉืจ t1 ื–ื”ื” ืœ-t ืขื
ื“ืžื•ื™ื•ืช ืžื˜ื ื‘ืจื—ื•. ืœืคื™ื›ืš ืขืงื‘ื™ื•ืช ืขื ื”ืชืืžื” ืžื—ื™ื™ื‘ืช ืืช ื”ืื™ื ื“ืงืก(ื™ื, "")
ืชืžื™ื“ ืžื—ื–ื™ืจ 1. ื’ื ื”ืชื ืื™, index(s,t) != 0 ืื ื•ืจืง t ื”ื•ื ืชืช ืžื—ืจื•ื–ืช
ืฉืœ s, ื“ื•ืจืฉ index("","") = 1.

ืื getline ื ืชืงืœ ื‘ืกื•ืฃ ื”ืงื•ื‘ืฅ, getline var, ืžืฉืื™ืจ ืืช var ืœืœื ืฉื™ื ื•ื™. ื‘ืื•ืคืŸ ื“ื•ืžื”,
ื‘ื›ื ื™ืกื” ืœ ื”ืกื•ืฃ ืคืขื•ืœื•ืช, $0, ื”ืฉื“ื•ืช ื• NF ืขืจื›ื ืœืœื ืฉื™ื ื•ื™
ื”ืฉื™ื ื”ืื—ืจื•ืŸ.

ื”ืฉืชืžืฉ ื‘-mawk ื‘ืื™ื ื˜ืจื ื˜ ื‘ืืžืฆืขื•ืช ืฉื™ืจื•ืชื™ onworks.net


ืฉืจืชื™ื ื•ืชื—ื ื•ืช ืขื‘ื•ื“ื” ื‘ื—ื™ื ื

ื”ื•ืจื“ ืืคืœื™ืงืฆื™ื•ืช Windows & Linux

ืคืงื•ื“ื•ืช ืœื™ื ื•ืงืก

Ad