Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ์ ๊ณต์ ์ฒด์์ ์คํํ ์ ์๋ gawk ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
gawk - ํจํด ์ค์บ๋ ๋ฐ ์ฒ๋ฆฌ ์ธ์ด
๊ฐ์
๋ํ ์ฌ๋ [ POSIX ๋๋ GNU ์คํ์ผ ์ต์ ] -f ํ๋ก๊ทธ๋จ ํ์ผ [ -- ] ํ์ผ ...
๋ํ ์ฌ๋ [ POSIX ๋๋ GNU ์คํ์ผ ์ต์ ] [ -- ] ํ๋ก๊ทธ๋จ ํ ์คํธ ํ์ผ ...
๊ธฐ์
๋ํ ์ฌ๋ GNU ํ๋ก์ ํธ์ AWK ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๊ตฌํ์ ๋๋ค. ๊ทธ๊ฒ์ ์ค์
POSIX 1003.1 ํ์ค์ ์ธ์ด ์ ์. ์ด ๋ฒ์ ์ ์ฐจ๋ก๋ก
์ ์ค๋ช ์ ๊ธฐ๋ฐ์ผ๋ก XNUMXD๋ดํ์ AWK ํ๋ก๊ทธ๋จ ์์ฑ ์ง์ํ๋ ์ธ์ด, Aho, Kernighan ๋ฐ
์์ธ๋ฒ๊ฑฐ. ๋ํ ์ฌ๋ ํ์ฌ ๋ฒ์ ์ Brian์ ์๋ ์ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ปค๋๊ฑด์ AWK ๋ค์ํ GNU ๊ด๋ จ ํ์ฅ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
๋ช ๋ น์ค์ ๋ค์ ์ต์ ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ํ ์ฌ๋ ์์ฒด, AWK ํ๋ก๊ทธ๋จ ํ ์คํธ(์ ๊ณต๋์ง ์์ ๊ฒฝ์ฐ
๋ฅผ ํตํด -f or --ํ์ผ ์ต์ ) ๋ฐ ๊ฐ์ ARGC ๊ณผ ARRGV ์ฌ์
์ ์๋ AWK ๋ณ์.
์ธ์ ๋ค ๊ณต์ ํ๋งค์ ์ธ ๋ํ ์ฌ๋ ์ ํจ๊ป ํธ์ถ๋ฉ๋๋ค. --ํ๋กํ ์ต์ ์ ์ ํํ๋ฉด ํ๋กํ์ผ๋ง ํต๊ณ ์์ง์ ์์ํฉ๋๋ค.
ํ๋ก๊ทธ๋จ ์คํ๋ถํฐ. ๋ํ ์ฌ๋ ์ด ๋ชจ๋์์๋ ๋ ๋๋ฆฌ๊ฒ ์คํ๋๋ฉฐ ์๋์ผ๋ก
ํ์ผ์ ์คํ ํ๋กํ ์์ฑ awkprof.out ์๋ฃ๋๋ฉด. ์ฐธ์กฐ --ํ๋กํ
์ต์ , ์๋.
๋ํ ์ฌ๋ ํตํฉ ๋๋ฒ๊ฑฐ๋ ์์ต๋๋ค. ๋ํํ ๋๋ฒ๊น ์ธ์ ์ ๋ค์๊ณผ ๊ฐ์ด ์์ํ ์ ์์ต๋๋ค.
๊ณต๊ธ -๋๋ฒ๊ทธ ๋ช ๋ น์ค์ ๋ํ ์ต์ ์ ๋๋ค. ์ด ์คํ ๋ชจ๋์์ ๋ํ ์ฌ๋ ์๋ฉ
AWK ์์ค ์ฝ๋๋ฅผ ํ์ธํ ๋ค์ ๋๋ฒ๊น ๋ช ๋ น์ ๋ฌป๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค. ๋ํ ์ฌ๋ AWK๋ง ๋๋ฒ๊น ๊ฐ๋ฅ
ํจ๊ป ์ ๊ณต๋๋ ํ๋ก๊ทธ๋จ ์์ค -f ์ต์ . ๋๋ฒ๊ฑฐ๋ ๋ค์ ๋ฌธ์์ ์ค๋ช ๋์ด ์์ต๋๋ค. ๋ํ ์ฌ๋: ์ ํจํ
AWK ํ๋ก๊ทธ๋จ ์์ฑ.
OPTION FORMAT
๋ํ ์ฌ๋ ์ต์ ์ ์ ํต์ ์ธ POSIX ์คํ์ผ์ ํ ๊ธ์ ์ต์ ์ด๊ฑฐ๋ GNU ์คํ์ผ์ long์ผ ์ ์์ต๋๋ค.
์ต์ . POSIX ์ต์ ์ ๋จ์ผ "-"๋ก ์์ํ๊ณ ๊ธด ์ต์ ์ "--"๋ก ์์ํฉ๋๋ค. ๊ธด
์ต์ ์ GNU ํน์ ๊ธฐ๋ฅ๊ณผ POSIX ํ์ ๊ธฐ๋ฅ ๋ชจ๋์ ๋ํด ์ ๊ณต๋ฉ๋๋ค.
๋ํ ์ฌ๋- ํน์ ์ต์ ์ ์ผ๋ฐ์ ์ผ๋ก ๊ธด ์ต์ ํ์์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ๊ธด ์ต์ ์ ๋ํ ์ธ์
์ ์ํด ์ต์ ๊ณผ ๊ฒฐํฉ๋ฉ๋๋ค. = ์ฌ์ด์ ๊ณต๋ฐฑ์ด ์๋ ๊ธฐํธ ๋๋
๋ค์ ๋ช ๋ น์ค ์ธ์์ ์ ๊ณต๋ฉ๋๋ค. ๊ธด ์ต์ ์ ์ถ์ฝ๋ ์ ์์ต๋๋ค.
์ฝ์ด๋ ๊ณ ์ ํ๊ฒ ์ ์ง๋ฉ๋๋ค.
๋ํ ๋ชจ๋ ๊ธด ์ต์ ์๋ ํด๋นํ๋ ์งง์ ์ต์ ์ด ์์ผ๋ฏ๋ก ์ต์ ์
๊ธฐ๋ฅ์ ๋ด๋ถ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. #! ์คํ ๊ฐ๋ฅํ ์คํฌ๋ฆฝํธ.
์ต์
๋ํ ์ฌ๋ ๋ค์ ์ต์ ์ ํ์ฉํฉ๋๋ค. ํ์ค ์ต์ ์ด ๋จผ์ ๋์ด๋๊ณ ๋ค์์ ๋์ด๋ฉ๋๋ค.
์ต์ ๋ํ ์ฌ๋ ์งง์ ์ต์ ์ผ๋ก ์ํ๋ฒณ์์ผ๋ก ๋์ด๋ ํ์ฅ์.
-f ํ๋ก๊ทธ๋จ ํ์ผ
--ํ์ผ ํ๋ก๊ทธ๋จ ํ์ผ
ํ์ผ์์ AWK ํ๋ก๊ทธ๋จ ์์ค ์ฝ๊ธฐ ํ๋ก๊ทธ๋จ ํ์ผ, ์ฒ์๋ถํฐ ๋์
๋ช ๋ น์ค ์ธ์. ๋ค์์ -f (๋๋ --ํ์ผ) ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
-F fs
--ํ๋ ๊ตฌ๋ถ์ fs
fs ์ ๋ ฅ ํ๋ ๊ตฌ๋ถ ๊ธฐํธ( FS ๋ฏธ๋ฆฌ ์ ์๋ ๋ณ์).
-v ์๋ค=ํ
--์์์ธ ์๋ค=ํ
๊ฐ ํ ๋น ํ ๋ณ์์ ์๋ค, ํ๋ก๊ทธ๋จ ์คํ์ด ์์๋๊ธฐ ์ ์.
์ด๋ฌํ ๋ณ์ ๊ฐ์ ๋ค์์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. BEGIN AWK ํ๋ก๊ทธ๋จ์ ๊ท์น.
-b
--๋ฌธ์๋ฅผ ๋ฐ์ดํธ๋ก
๋ชจ๋ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ XNUMX๋ฐ์ดํธ ๋ฌธ์๋ก ์ฒ๋ฆฌํฉ๋๋ค. ์ฆ, ์ง๋ถํ์ง ๋ง์ญ์์ค.
๋ฌธ์์ด์ ๋ฉํฐ๋ฐ์ดํธ๋ก ์ฒ๋ฆฌํ๋ ค๊ณ ํ ๋ ๋ก์ผ์ผ ์ ๋ณด์ ์ฃผ์ํ์ญ์์ค.
๋ฌธ์. ๊ทธ๋งํผ --ํฌ์์ค ์ต์ ์ด ์ด ์ต์ ๋ณด๋ค ์ฐ์ ํฉ๋๋ค.
-c
--์ ํต์ ์ธ
์คํ ํธํ์ฑ ๋ฐฉ๋ฒ. ํธํ์ฑ ๋ชจ๋์์ ๋ํ ์ฌ๋ ๋์ผํ๊ฒ ๋์
๋ธ๋ผ์ด์ธ ์ปค๋๊ฑด์ AWK; GNU ํน์ ํ์ฅ์ ์ธ์๋์ง ์์ต๋๋ค. ๋ณด๋ค GNU
ํ์ฅ์์ธํ ๋ด์ฉ์ ์๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
-C
--์ ์๊ถ
GNU ์ ์๊ถ ์ ๋ณด ๋ฉ์์ง์ ์งง์ ๋ฒ์ ์ ํ์ค์ ์ธ์ํ์ญ์์ค.
์ฑ๊ณต์ ์ผ๋ก ์ถ๋ ฅํ๊ณ ์ข ๋ฃํฉ๋๋ค.
-d[ํ์ผ]
--๋คํ ๋ณ์[=ํ์ผ]
์ ์ญ ๋ณ์, ํด๋น ์ ํ ๋ฐ ์ต์ข ๊ฐ์ ์ ๋ ฌ๋ ๋ชฉ๋ก์ ์ธ์ํฉ๋๋ค. ํ์ผ. ๋ฉด
์๋ ํ์ผ ์ ๊ณต๋ฉ๋๋ค ๋ํ ์ฌ๋ ๋ผ๋ ํ์ผ์ ์ฌ์ฉ awkvars.out ํ์ฌ ๋๋ ํ ๋ฆฌ์์.
๋ชจ๋ ์ ์ญ ๋ณ์ ๋ชฉ๋ก์ ๊ฐ๋ ๊ฒ์ ํ์ดํฌ๊ทธ๋ํผ๋ฅผ ์ฐพ๋ ์ข์ ๋ฐฉ๋ฒ์ ๋๋ค.
ํ๋ก๊ทธ๋จ์ ์ค๋ฅ. ํฐ ํ์ผ์ด ์๋ ๊ฒฝ์ฐ์๋ ์ด ์ต์ ์ ์ฌ์ฉํฉ๋๋ค.
ํจ์๊ฐ ๋ง์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ํจ์๊ฐ
์ค์๋ก ๋ก์ปฌ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ค๋ ์ ์ญ ๋ณ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. (์ด๊ฒ์
๋ค์๊ณผ ๊ฐ์ ๊ฐ๋จํ ๋ณ์ ์ด๋ฆ์ผ๋ก ํนํ ์ฝ๊ฒ ์ค์ํ ์ ์์ต๋๋ค. i, j, ๋ฑ๋ฑ.)
-D[ํ์ผ]
-๋๋ฒ๊ทธ[=ํ์ผ]
AWK ํ๋ก๊ทธ๋จ์ ๋๋ฒ๊น ์ ํ์ฑํํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋๋ฒ๊ฑฐ๋ ๋ช ๋ น์ ์ฝ์ต๋๋ค.
ํค๋ณด๋์์ ๋ํ์์ผ๋ก(ํ์ค ์ ๋ ฅ). ์ต์ ํ์ผ ๋ ผ์
๋๋ฒ๊ฑฐ๊ฐ ์คํํ์ง ์๋ ๋ช ๋ น ๋ชฉ๋ก์ด ์๋ ํ์ผ์ ์ง์ ํฉ๋๋ค.
๋ํ์์ผ๋ก.
-e ํ๋ก๊ทธ๋จ ํ ์คํธ
--์์ฒ ํ๋ก๊ทธ๋จ ํ ์คํธ
ํ๋ก๊ทธ๋จ ํ ์คํธ AWK ํ๋ก๊ทธ๋จ ์์ค ์ฝ๋๋ก. ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด
๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์์ ํผํฉ( -f ๊ณผ --ํ์ผ ์ต์ ) ์์ค ํฌํจ
๋ช ๋ น์ค์ ์ ๋ ฅ๋ ์ฝ๋์ ๋๋ค. ์ฃผ๋ก ์ค๋ํ AWK์ฉ์ ๋๋ค.
์ ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋จ.
-E ํ์ผ
--exec ํ์ผ
์ ์ฌํ๊ฒ -f๊ทธ๋ฌ๋ ์ด ์ต์ ์ ๋ง์ง๋ง์ผ๋ก ์ฒ๋ฆฌ๋๋ ์ต์ ์ ๋๋ค. ์ด๊ฒ์
ํจ๊ป ์ฌ์ฉ #! ์ ๋ฌ์ ํผํ๊ธฐ ์ํด ํนํ CGI ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํฌ๋ฆฝํธ
URL์ ๋ช ๋ น์ค์ ์๋ ์ต์ ๋๋ ์์ค ์ฝ๋(!). ์ด ์ต์ ์
๋ช ๋ น์ค ๋ณ์ ํ ๋น.
-g
--gen-pot
AWK ํ๋ก๊ทธ๋จ์ ์ค์บ ๋ฐ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ GNU๋ฅผ ์์ฑํฉ๋๋ค. .๋๋น (์ด๋์ ๊ฐ์ฒด ํ ํ๋ฆฟ)
์ง์ญํํ ์ ์๋ ๋ชจ๋ ๋ฌธ์์ด์ ๋ํ ํญ๋ชฉ์ด ํฌํจ๋ ํ์ค ์ถ๋ ฅ์ ํ์ ํ์ผ
ํ๋ก๊ทธ๋จ. ํ๋ก๊ทธ๋จ ์์ฒด๋ ์คํ๋์ง ์์ต๋๋ค. GNU ์ฐธ์กฐ gettext๋ฅผ ๋ฐฐํฌ
์์ธํ ์ ๋ณด .๋๋น ํ์ผ.
-h
--๋์ ํ์ค ์ถ๋ ฅ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์ ์ ๋ํ ๋น๊ต์ ์งง์ ์์ฝ์ ์ธ์ํฉ๋๋ค.
(๋น GNU ์ฝ๋ฉ ํ์ค ์ํธ, ์ด๋ฌํ ์ต์ ์ ์ฌ์ฉํ๋ฉด ์ฆ์ ์ฑ๊ณต์ ์ผ๋ก ์ข ๋ฃ๋ฉ๋๋ค.)
-i ํฌํจ ํ์ผ
--ํฌํจํ๋ค ํฌํจ ํ์ผ
awk ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ก๋ํฉ๋๋ค. ์ด๊ฒ์ ๋ค์์ ์ฌ์ฉํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฒ์ํฉ๋๋ค. AWKPATH
ํ๊ฒฝ ๋ณ์. ์ด๊ธฐ ๊ฒ์์ ์คํจํ๋ฉด ๋ค์ ์๋ํฉ๋๋ค.
๋ฅผ ์ถ๊ฐํ ํ .awk ์ ๋ฏธ์ฌ. ํ์ผ์ ํ ๋ฒ๋ง ๋ก๋๋ฉ๋๋ค(์ฆ,
์ค๋ณต์ด ์ ๊ฑฐ๋จ) ์ฝ๋๊ฐ ์ฃผ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ์ง ์์
์ถ์ฒ.
-l lib
--์ง lib
๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ก๋ lib. ์ด๊ฒ์ ๋ค์์ ์ฌ์ฉํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฒ์ํฉ๋๋ค. AWKLIBPATH
ํ๊ฒฝ ๋ณ์. ์ด๊ธฐ ๊ฒ์์ ์คํจํ๋ฉด ๋ค์ ์๋ํฉ๋๋ค.
ํ๋ซํผ์ ๊ธฐ๋ณธ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋ฏธ์ฌ๋ฅผ ์ถ๊ฐํ ํ. ๋์๊ด
์ด๊ธฐํ ๋ฃจํด์ ์ด๋ฆ์ด ์ง์ ๋์ด์ผ ํฉ๋๋ค. dl_๋ก๋().
-L [๊ฐ์น]
--๋ฆฐํธ[=๊ฐ์น]
์์ฌ์ค๋ฝ๊ฑฐ๋ ๋ค๋ฅธ AWK๋ก ์ด์ํ ์ ์๋ ๊ตฌ์ฑ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ตฌํ. ์ ํ์ ์ธ์๋ก ์น๋ช ์ ์ธ, ๋ฆฐํธ ๊ฒฝ๊ณ ๊ฐ ์น๋ช ์ ์ด ๋จ
์ค๋ฅ. ์ด๊ฒ์ ๊ณผ๊ฐํ ์ ์์ง๋ง, ๊ทธ๊ฒ์ ์ฌ์ฉ์ ํ์คํ ๊ฐ๋ฐ์ ์ฅ๋ คํ ๊ฒ์ ๋๋ค.
๋ ๊นจ๋ํ AWK ํ๋ก๊ทธ๋จ. ์ ํ์ ์ธ์๋ก ๋ฌดํจ์์ ๋ํ ๊ฒฝ๊ณ ๋ง
์ค์ ๋ก ์ ํจํ์ง ์์ ๊ฒ์ด ๋ฐํ๋ฉ๋๋ค. (์์ง ์์ ํ ๊ตฌํ๋ ๊ฒ์ ์๋๋๋ค.)
-M
--๋น๊ทธ๋
์ซ์์ ์์ ์ ๋ฐ๋ ์ฐ์ ์ ์ ์ฉํฉ๋๋ค. ์ด ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ ํจ๊ณผ๊ฐ ์์ต๋๋ค. ๋ํ ์ฌ๋
GNU MPFR ๋ฐ MP ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๋ก ์ปดํ์ผ๋์ง ์์์ต๋๋ค.
-n
--์ญ์ง์๊ฐ ์๋ ๋ฐ์ดํฐ
์ ๋ ฅ ๋ฐ์ดํฐ์์ XNUMX์ง์ ๋ฐ XNUMX์ง์ ๊ฐ์ ์ธ์ํฉ๋๋ค. ์ด ์ ํ๊ถ ๊ณผ ํฐ
์ฃผ์!
-N
--use-lc-์ซ์
์ด ํ ๋ํ ์ฌ๋ ์ ๋ ฅ์ ๊ตฌ๋ฌธ ๋ถ์ํ ๋ ๋ก์ผ์ผ์ ์์์ ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด
๋ฐ์ดํฐ. POSIX ํ์ค์ ์ด ๋์์ ์๊ตฌํ์ง๋ง ๋ํ ์ฌ๋ ํ ๋ ๊ทธ๋ ๊ฒ ํ๋ค
--ํฌ์์ค ๊ฐ ์ ํจํ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ ์ ํต์ ์ธ ๋์์ ๋ฐ๋ฅด๊ณ
๋ง์นจํ๊ฐ ์์์ ์ด ์๋ ๋ก์ผ์ผ์์๋ ๋ง์นจํ๋ฅผ ์์์ ์ผ๋ก ์ฌ์ฉ
ํฌ์ธํธ ์บ๋ฆญํฐ. ์ด ์ต์ ์ ์ ์ฒด ์ค์ ์์ด ๊ธฐ๋ณธ ๋์์ ์ฌ์ ์ํฉ๋๋ค.
๊ฐํนํ ์๊ฒฉํจ --ํฌ์์ค ์ต์ ์ ์ ํํฉ๋๋ค.
-o[ํ์ผ]
--์์ ์ธ์[=ํ์ผ]
ํ๋ก๊ทธ๋จ์ ์์๊ฒ ์ธ์๋ ๋ฒ์ ์ ๋ค์์ผ๋ก ์ถ๋ ฅ ํ์ผ. ์๋๋ผ๋ฉด ํ์ผ ์ ๊ณต๋ฉ๋๋ค
๋ํ ์ฌ๋ ๋ผ๋ ํ์ผ์ ์ฌ์ฉ awkprof.out ํ์ฌ ๋๋ ํ ๋ฆฌ์์.
-O
--์ต์ ํ
ํ๋ก๊ทธ๋จ์ ๋ด๋ถ ํํ์ ๋ฐ๋ผ ์ต์ ํ๋ฅผ ํ์ฑํํฉ๋๋ค. ํ์ฌ,
์ฌ๊ธฐ์๋ ๊ฐ๋จํ ์์ ์ ๊ธฐ ๋ฐ ์ฌ๊ท๋ฅผ ์ํ ๊ผฌ๋ฆฌ ํธ์ถ ์ ๊ฑฐ๊ฐ ํฌํจ๋ฉ๋๋ค.
๊ธฐ๋ฅ. ๊ทธ๋งํผ ๋ํ ์ฌ๋ ๊ด๋ฆฌ์๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ถ๊ฐ ์ต์ ํ๋ฅผ ์ถ๊ฐํ๊ธฐ๋ฅผ ํฌ๋งํฉ๋๋ค.
-p[ํ๋กํ ํ์ผ]
--ํ๋กํ[=ํ๋กํ ํ์ผ]
ํ๋กํ์ผ๋ง ์ธ์ ์ ์์ํ๊ณ ํ๋กํ์ผ๋ง ๋ฐ์ดํฐ๋ฅผ ํ๋กํ ํ์ผ. ๊ธฐ๋ณธ๊ฐ
is awkprof.out. ํ๋กํ์๋ ๊ฐ ๋ช ๋ น๋ฌธ์ ์คํ ํ์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
๊ฐ ์ฌ์ฉ์ ์ ์ ํจ์์ ๋ํ ์ผ์ชฝ ์ฌ๋ฐฑ ๋ฐ ํจ์ ํธ์ถ ํ์์ ํ๋ก๊ทธ๋จ.
-P
--ํฌ์์ค
์ด ์ผ์ง๋๋ค ํธํ์ฑ ๋ค์๊ณผ ๊ฐ์ ์ถ๊ฐ ์ ํ ์ฌํญ์ด ์๋ ๋ชจ๋:
ยท \x ์ด์ค์ผ์ดํ ์ํ์ค๋ ์ธ์๋์ง ์์ต๋๋ค.
ยท ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๊ณต๋ฐฑ๊ณผ ํญ๋ง ํ๋ ๊ตฌ๋ถ ๊ธฐํธ๋ก ์ฌ์ฉ๋ฉ๋๋ค. FS ๋จ์ผ ๊ณต๊ฐ์ผ๋ก ์ค์ ๋๋ฉฐ,
๊ฐํ์ ๊ทธ๋ ์ง ์์ต๋๋ค.
ยท ๋ค์์ ์ค์ ๊ณ์ํ ์ ์์ต๋๋ค. ? ๊ณผ :.
ยท ๋์์ด ํํฌ ํค์๋์ ๋ํ ๊ธฐ๋ฅ ์ธ์๋์ง ์์ต๋๋ค.
ยท ์ด์์ ** ๊ณผ **= ๋์ ์ฌ์ฉํ ์ ์์ต๋๋ค ^ ๊ณผ ^=.
-r
--์ฌ๊ฐ๊ฒฉ
์ฌ์ฉ ๊ฐ๋ฅ ๊ฐ๊ฒฉ ํํ ์ ๊ท์ ์ผ์น์์(์ฐธ์กฐ ์ ๊ท๋ณ
์, ์๋์). ๊ฐ๊ฒฉ ํํ์ ์ ํต์ ์ผ๋ก
AWK ์ธ์ด. POSIX ํ์ค์ ๊ทธ๊ฒ๋ค์ ์ถ๊ฐํ์ฌ AWK ๊ณผ ์ด๊ทธ๋ ~์ ์ผ์นํ๋
์๋ก. ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ง๋ง ์ด ์ต์ ์ ๊ณ์ ์ฌ์ฉ๋ฉ๋๋ค.
--์ ํต์ ์ธ.
-S
--๋ชจ๋ ์์
์คํ ๋ํ ์ฌ๋ ์๋๋ฐ์ค ๋ชจ๋์์ ์ฒด๊ณ() ํจ์, ์ ๋ ฅ ๋ฆฌ๋๋ ์
Getline, ์ถ๋ ฅ ๋ฆฌ๋๋ ์ ์ธ์ ๊ณผ printf, ๋์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ก๋ํฉ๋๋ค.
๋ช ๋ น ์คํ(ํ์ดํ๋ผ์ธ์ ํตํ)๋ ๋นํ์ฑํ๋ฉ๋๋ค. ์ด๊ฒ์ ํจ๊ณผ์ ์ผ๋ก
์คํฌ๋ฆฝํธ๊ฐ ๋ก์ปฌ ๋ฆฌ์์ค์ ์ก์ธ์คํ์ง ๋ชปํ๋๋ก ํฉ๋๋ค(๋จ,
๋ช ๋ น์ค).
-t
-- ๋ณดํธ๋ผ๊ธฐ ์ค๋๋
์๋ณธ ๋ฒ์ ์ผ๋ก ์ด์ํ ์ ์๋ ๊ตฌ๋ฌธ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ ๊ณตํฉ๋๋ค.
UNIX AWK.
-V
--๋ฒ์ญ
์ด ํน์ ๋ณต์ฌ๋ณธ์ ๋ํ ๋ฒ์ ์ ๋ณด ์ธ์ ๋ํ ์ฌ๋ ํ์ค ์ถ๋ ฅ์์.
์ด๊ฒ์ ์ฃผ๋ก ํ์ฌ ๋ณต์ฌ๋ณธ์ด ๋ํ ์ฌ๋ ์์คํ ์ด ์ผ์ ธ ์์ต๋๋ค
์์ ์ํํธ์จ์ด ์ฌ๋จ์ด ๋ฐฐํฌํ๋ ๋ชจ๋ ๊ฒ๊ณผ ๊ด๋ จํ์ฌ ์ง๊ธ๊น์ง.
์ด๋ ๋ฒ๊ทธ๋ฅผ ๋ณด๊ณ ํ ๋๋ ์ ์ฉํฉ๋๋ค. (๋น GNU ์ฝ๋ฉ ํ์ค ์ํธ์ด
์ต์ ์ ์ฌ์ฉํ๋ฉด ์ฆ์ ์ฑ๊ณต์ ์ผ๋ก ์ข ๋ฃ๋ฉ๋๋ค.)
-- ์ต์ ์ ๋์ ์๋ฆฝ๋๋ค. ์ด๋ AWK์ ์ถ๊ฐ ์ธ์๋ฅผ ํ์ฉํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
"-"๋ก ์์ํ๋๋ก ํ๋ก๊ทธ๋๋ฐํฉ๋๋ค. ์ด๊ฒ์ ์ธ์์ ์ผ๊ด์ฑ์ ์ ๊ณตํฉ๋๋ค
๋๋ถ๋ถ์ ๋ค๋ฅธ POSIX ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ๋ ๊ตฌ๋ฌธ ๋ถ์ ๊ท์น์ ๋๋ค.
ํธํ ๋ชจ๋์์ ๋ค๋ฅธ ๋ชจ๋ ์ต์ ์ ์ ํจํ์ง ์์ ๊ฒ์ผ๋ก ํ์๋์ง๋ง ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ
๋ฌด์ํ๋ค. ์ ์์ ์ธ ์๋์์ ํ๋ก๊ทธ๋จ ํ ์คํธ๊ฐ ์ ๊ณต๋๋ ํ ์ ์ ์๋ ์ต์
์์ AWK ํ๋ก๊ทธ๋จ์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค. ARRGV ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ฐฐ์ด. ์ด๊ฒ์ ํนํ
"#!"์ ํตํด AWK ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ์คํ ๊ฐ๋ฅํ ์ธํฐํ๋ฆฌํฐ ๋ฉ์ปค๋์ฆ.
POSIX ํธํ์ฑ์ ์ํด -W ์ต์ ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๊ทธ ๋ค์ ๊ธด ์ต์ ์ ์ด๋ฆ์ด ์ต๋๋ค.
AWK ํ๋ก๊ทธ๋จ ์คํ
AWK ํ๋ก๊ทธ๋จ์ ์ผ๋ จ์ ํจํด-์ก์ ๋ฌธ๊ณผ ์ ํ์ ํจ์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ ์.
@ํฌํจํ๋ค "ํ์ผ ์ด๋ฆ"
@์ง "ํ์ผ ์ด๋ฆ"
๋ฌด๋ฌ { ๋์ ๋ฌธ }
๊ธฐ๋ฅ name(๋งค๊ฐ ๋ณ์ ๋ช ๋ถ) { ๋ฌธ }
๋ํ ์ฌ๋ ๋จผ์ ํ๋ก๊ทธ๋จ ์์ค๋ฅผ ์ฝ์ต๋๋ค. ํ๋ก๊ทธ๋จ ํ์ผ(s) ์ง์ ๋ ๊ฒฝ์ฐ ์ธ์์์
์ --์์ฒ, ๋๋ ๋ช ๋ น์ค์ ์ฒซ ๋ฒ์งธ ์ต์ ์ด ์๋ ์ธ์์์. ๊ทธ๋งํผ -f ๊ณผ
--์์ฒ ์ต์ ์ ๋ช ๋ น์ค์์ ์ฌ๋ฌ ๋ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ํ ์ฌ๋ ํ๋ก๊ทธ๋จ์ ์ฝ๋๋ค
๋ง์น ๋ชจ๋ ํ๋ก๊ทธ๋จ ํ์ผs ๋ฐ ๋ช ๋ น์ค ์์ค ํ ์คํธ๊ฐ ์ฐ๊ฒฐ๋์์ต๋๋ค.
ํจ๊ป. ์ด๊ฒ์ AWK ๊ธฐ๋ฅ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
๊ทธ๊ฒ๋ค์ ์ฌ์ฉํ๋ ๊ฐ๊ฐ์ ์๋ก์ด AWK ํ๋ก๊ทธ๋จ์ ๊ทธ๊ฒ๋ค์ ํฌํจ์ํค์ญ์์ค. ๋ํ ํผํฉ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
๋ช ๋ น์ค ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ธฐ๋ฅ.
๋ํ ๋ค์์ผ๋ก ์์ํ๋ ์ค์ @ํฌํจํ๋ค ๋ค๋ฅธ ์์ค ํ์ผ์ ํฌํจํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์ฑ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ๋ค์์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. -i ์ต์ ์ ์ ํํฉ๋๋ค.
๋ก ์์ํ๋ ์ค @์ง ํ๋ก๊ทธ๋จ์ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ก๋ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ฒ
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. -l ์ต์ ์ ์ ํํฉ๋๋ค.
ํ๊ฒฝ ๋ณ์ AWKPATH ์์ค ํ์ผ์ ์ฐพ์ ๋ ์ฌ์ฉํ ๊ฒ์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค.
๋ก ๋ช ๋ช -f ๊ณผ -i ์ต์ . ์ด ๋ณ์๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๊ฒฝ๋ก๋
".:/usr/local/share/awk". (์ค์ ๋๋ ํ ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ค๋ฅผ ์ ์์ต๋๋ค. ๋ํ ์ฌ๋ ์๋ค
๋น๋ ๋ฐ ์ค์น๋ฉ๋๋ค.) -f ์ต์ ์ "/" ๋ฌธ์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
๊ฒฝ๋ก ๊ฒ์์ด ์ํ๋ฉ๋๋ค.
ํ๊ฒฝ ๋ณ์ AWKLIBPATH ์์ค๋ฅผ ์ฐพ์ ๋ ์ฌ์ฉํ ๊ฒ์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค.
๋ก ๋ช ๋ช ๋ ํ์ผ -l ์ต์ . ์ด ๋ณ์๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๊ฒฝ๋ก๋
"/usr/local/lib/gawk". (์ค์ ๋๋ ํ ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ค๋ฅผ ์ ์์ต๋๋ค. ๋ํ ์ฌ๋ ์ง์ด์ก๋ค
๊ทธ๋ฆฌ๊ณ ์ค์นํ์ต๋๋ค.)
๋ํ ์ฌ๋ ๋ค์ ์์๋ก AWK ํ๋ก๊ทธ๋จ์ ์คํํฉ๋๋ค. ์ฒซ์งธ, ๋ชจ๋ ๋ณ์ ํ ๋น
๋ฅผ ํตํด ์ง์ ๋ -v ์ต์ ์ด ์ํ๋ฉ๋๋ค. ๋ค์, ๋ํ ์ฌ๋ ํ๋ก๊ทธ๋จ์
๋ด๋ถ ํํ. ๊ทธ ๋ค์์, ๋ํ ์ฌ๋ ์์ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค. BEGIN ๊ท์น(๋ค)(์๋ ๊ฒฝ์ฐ), ๊ทธ๋ฆฌ๊ณ ๋์
์ ์ด๋ฆ์ด ์ง์ ๋ ๊ฐ ํ์ผ ์ฝ๊ธฐ๋ฅผ ์งํํฉ๋๋ค. ARRGV ์ด๋ ์ด(์ต๋ ARGV[ARGC]). ์๋ ๊ฒฝ์ฐ
๋ช ๋ น์ค์ ์ด๋ฆ์ด ์ง์ ๋ ํ์ผ, ๋ํ ์ฌ๋ ํ์ค ์ ๋ ฅ์ ์ฝ์ต๋๋ค.
๋ช ๋ น์ค์ ํ์ผ ์ด๋ฆ์ด ๋ค์ ํ์์ธ ๊ฒฝ์ฐ ์๋ค=ํ ๋ณ์๋ก ์ทจ๊ธ
๊ณผ์ . ๋ณ์ ์๋ค ๊ฐ์ด ํ ๋น๋ฉ๋๋ค ํ. (์ด๊ฒ์ ๋ชจ๋ ํ์ ๋ฐ์ํฉ๋๋ค.
BEGIN ๊ท์น์ด ์คํ๋์์ต๋๋ค.) ๋ช ๋ น์ค ๋ณ์ ํ ๋น์ ๋ค์์ ๊ฐ์ฅ ์ ์ฉํฉ๋๋ค.
AWK๊ฐ ์ ๋ ฅ์ด ๋ถํ ๋๋ ๋ฐฉ์์ ์ ์ดํ๋ โโ๋ฐ ์ฌ์ฉํ๋ ๋ณ์์ ๊ฐ์ ๋์ ์ผ๋ก ํ ๋น
ํ๋ ๋ฐ ๋ ์ฝ๋. ์ฌ๋ฌ ํจ์ค๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ํ๋ฅผ ์ ์ดํ๋ โโ๋ฐ์๋ ์ ์ฉํฉ๋๋ค.
๋จ์ผ ๋ฐ์ดํฐ ํ์ผ์ ํตํด.
ํน์ ์์์ ๊ฐ์ด ARRGV ๋น์๋ค (""), ๋ํ ์ฌ๋ ๊ฑด๋๋๋๋ค.
๊ฐ ์ ๋ ฅ ํ์ผ์ ๋ํด ์์ ํ์ผ ๊ท์น์ด ์กด์ฌํ๋ฉฐ, ๋ํ ์ฌ๋ ์ด์ ์ ๊ด๋ จ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
ํ์ผ์ ๋ด์ฉ์ ์ฒ๋ฆฌํฉ๋๋ค. ๋น์ทํ๊ฒ, ๋ํ ์ฌ๋ ๊ด๋ จ๋ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
์ต์ข ํ์ผ ํ์ผ์ ์ฒ๋ฆฌํ ํ.
์ ๋ ฅ์ ๊ฐ ๋ ์ฝ๋์ ๋ํด ๋ํ ์ฌ๋ ์ผ์นํ๋์ง ํ ์คํธ ๋ฌด๋ฌ AWK์์
ํ๋ก๊ทธ๋จ. ๋ ์ฝ๋๊ฐ ์ผ์นํ๋ ๊ฐ ํจํด์ ๋ํด ๋ํ ์ฌ๋ ๊ด๋ จ๋ ์คํ ๋์.
ํจํด์ ํ๋ก๊ทธ๋จ์์ ๋ฐ์ํ๋ ์์๋๋ก ํ ์คํธ๋ฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ๋ชจ๋ ์ ๋ ฅ์ด ์์ง๋ ํ, ๋ํ ์ฌ๋ ์์ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค. END ๊ท์น(๋ค)(๋ง์ฝ
์ด๋).
๋ช ๋ น ๋ผ์ธ ๋๋ ํ ๋ฆฌ
POSIX์ ๋ฐ๋ฅด๋ฉด, AWK ๋ช ๋ น์ค์ ํ ์คํธ ํ์ผ์ด์ด์ผ ํฉ๋๋ค. ๊ทธ ํ๋
๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ``์ ์๋์ง ์์''์ ๋๋ค. ๋๋ถ๋ถ์ ๋ฒ์ AWK ๋ช ๋ น์์ ๋๋ ํ ๋ฆฌ ์ฒ๋ฆฌ
์น๋ช ์ ์ธ ์ค๋ฅ๋ก ๋ผ์ธ.
4.0 ๋ฒ์ ๋ถํฐ ๋ํ ์ฌ๋, ๋ช ๋ น์ค์ ๋๋ ํฐ๋ฆฌ๋ ๊ฒฝ๊ณ ๋ฅผ ์์ฑํ์ง๋ง
๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฑด๋๋๋๋ค. ๋ค์ ์ค ํ๋์ธ ๊ฒฝ์ฐ --ํฌ์์ค or --์ ํต์ ์ธ ์ต์ ์ด ์ฃผ์ด์ง๋ฉด
๋ํ ์ฌ๋ ๋ช ๋ น์ค์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์น๋ช ์ ์ค๋ฅ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ผ๋ก ๋๋์๊ฐ๋๋ค.
๋ณ์, ๊ธฐ๋ก ๋ฐ ์ ์ง
AWK ๋ณ์๋ ๋์ ์ ๋๋ค. ๊ทธ๋ค์ ์ฒ์ ์ฌ์ฉ๋ ๋ ์กด์ฌํฉ๋๋ค. ๊ทธ๋ค์
๊ฐ์ ๋ถ๋ ์์์ ์ซ์ ๋๋ ๋ฌธ์์ด์ด๊ฑฐ๋ ๋ ๋ค์ ๋๋ค.
์ฌ์ฉ๋. AWK์๋ XNUMX์ฐจ์ ๋ฐฐ์ด๋ ์์ต๋๋ค. ์ฌ๋ฌ ์ฐจ์์ ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ ์ ์์ต๋๋ค.
์๋ฎฌ๋ ์ด์ . ๋ํ ์ฌ๋ ์ง์ ํ ๋ฐฐ์ด ๋ฐฐ์ด์ ์ ๊ณตํฉ๋๋ค. ๋ณด๋ค ๋ฐฐ์ด, ์๋์. ๋ฏธ๋ฆฌ ์ ์๋ ์ฌ๋ฌ ๊ฐ์ง
๋ณ์๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋ ์ค์ ๋ฉ๋๋ค. ์ด๋ค์ ํ์์ ๋ฐ๋ผ ์ค๋ช ๋๊ณ ์๋์ ์์ฝ๋์ด ์์ต๋๋ค.
๊ธฐ๋ก
์ผ๋ฐ์ ์ผ๋ก ๋ ์ฝ๋๋ ๊ฐํ ๋ฌธ์๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ๊ธฐ๋ก ๋ฐฉ๋ฒ์ ์ ์ดํ ์ ์์ต๋๋ค.
๋ด์ฅ ๋ณ์์ ๊ฐ์ ํ ๋นํ์ฌ ๊ตฌ๋ถ RS. ๋ฉด RS ๋จ์ผ ๋ฌธ์์ ๋๋ค.
๊ทธ ๋ฌธ์๋ ๋ ์ฝ๋๋ฅผ ๊ตฌ๋ถํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด, RS ์ ๊ท ํํ์์ ๋๋ค. ํ ์คํธ
์ด ์ ๊ท์๊ณผ ์ผ์นํ๋ ์ ๋ ฅ์ ๋ ์ฝ๋๋ฅผ ๊ตฌ๋ถํฉ๋๋ค. ๊ทธ๋ฌ๋,
ํธํ์ฑ ๋ชจ๋์์๋ ๋ฌธ์์ด ๊ฐ์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ง ๊ตฌ๋ถ์ ์ฌ์ฉ๋ฉ๋๋ค.
๊ธฐ๋ก. ๋ง์ฝ์ RS null ๋ฌธ์์ด๋ก ์ค์ ๋๋ฉด ๋ ์ฝ๋๋ ๋น ์ค๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
์ธ์ ๋ค ๊ณต์ ํ๋งค์ ์ธ RS null ๋ฌธ์์ด๋ก ์ค์ ๋๋ฉด ๊ฐํ ๋ฌธ์๋ ํญ์ ํ๋ ๊ตฌ๋ถ ๊ธฐํธ ์ญํ ์ ํฉ๋๋ค.
์ด๋ค ๊ฐ์น ์ธ์๋ FS ํ ์ ์์ต๋๋ค.
Fields
๊ฐ ์ ๋ ฅ ๋ ์ฝ๋๋ฅผ ์ฝ์ ๋๋ง๋ค ๋ํ ์ฌ๋ ๋ก ๋ ์ฝ๋๋ฅผ ๋๋๋๋ค. ๋ถ์ผ, ์ ๊ฐ์ ์ฌ์ฉํ์ฌ
FS ํ๋ ๊ตฌ๋ถ ๊ธฐํธ๋ก ๋ณ์. ๋ง์ฝ์ FS ๋ ๋จ์ผ ๋ฌธ์์ด๊ณ ํ๋๋ ๋ค์์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
๊ทธ ์บ๋ฆญํฐ. ๋ง์ฝ์ FS null ๋ฌธ์์ด์ด๋ฉด ๊ฐ ๊ฐ๋ณ ๋ฌธ์๋
๋ณ๋์ ํ๋. ๊ทธ๋ ์ง ์์ผ๋ฉด, FS ์์ ํ ์ ๊ท์์ด ๋ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. ์์
ํน๋ณํ ๊ฒฝ์ฐ FS ๋จ์ผ ๊ณต๋ฐฑ์ด๋ฉฐ ํ๋๋ ๊ณต๋ฐฑ ๋ฐ/๋๋ ํญ ์คํ์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
๋ฐ/๋๋ ๊ฐํ. (๊ทธ๋ฌ๋ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค POSIX ํธํ์ฑ์๋). ์ฃผ์์ฌํญ: ์ ๊ฐ์น
๋์๋ฌธ์ ๋ฌด์ (์๋ ์ฐธ์กฐ) ๋ํ ์ธ์ ํ๋๊ฐ ๋ถํ ๋๋์ง์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. FS ์ ๊ท์์ด๋ฉฐ,
๊ทธ๋ฆฌ๊ณ ์ธ์ ๋ ์ฝ๋๊ฐ ๋ถ๋ฆฌ๋๋์ง RS ์ ๊ท์์ ๋๋ค.
๊ฒฝ์ฐ ํ๋ํญ ๋ณ์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ ์ซ์ ๋ชฉ๋ก์ผ๋ก ์ค์ ๋๋ฉฐ ๊ฐ ํ๋๋
๊ณ ์ ํญ์ ๊ฐ์ง ๊ฒ์ผ๋ก ์์๋๋ฉฐ, ๋ํ ์ฌ๋ ์ง์ ๋ ๋๋น๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ฝ๋๋ฅผ ๋ถํ ํฉ๋๋ค.
์ ๊ฐ์น FS ๋ฌด์๋ฉ๋๋ค. ์ ์ ๊ฐ ํ ๋น FS or FPAT ์ฌ์ฉ์ ์ฌ์ ์ํฉ๋๋ค.
ํ๋ํญ.
๋ง์ฐฌ๊ฐ์ง๋ก, FPAT ๋ณ์๋ ์ ๊ท์์ ๋ํ๋ด๋ ๋ฌธ์์ด๋ก ์ค์ ๋๋ฉฐ ๊ฐ๊ฐ
ํ๋๋ ํด๋น ์ ๊ท์๊ณผ ์ผ์นํ๋ ํ ์คํธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์ ๊ท
ํํ์์ ํ๋๋ฅผ ๊ตฌ๋ถํ๋ ํ ์คํธ ๋์ ํ๋ ์์ฒด๋ฅผ ์ค๋ช ํฉ๋๋ค.
์ ์ ๊ฐ ํ ๋น FS or ํ๋ํญ ์ฌ์ฉ์ ์ฌ์ ์ํฉ๋๋ค. FPAT.
์ ๋ ฅ ๋ ์ฝ๋์ ๊ฐ ํ๋๋ ํด๋น ์์น๋ก ์ฐธ์กฐ๋ ์ ์์ต๋๋ค. $1, $2, ๋ฑ๋ฑ. $0
์ ์ฒด ๊ธฐ๋ก์ ๋๋ค. ํ๋๋ ์์๋ก ์ฐธ์กฐํ ํ์๊ฐ ์์ต๋๋ค.
n = 5
์ธ์ $n
์ ๋ ฅ ๋ ์ฝ๋์ ๋ค์ฏ ๋ฒ์งธ ํ๋๋ฅผ ์ธ์ํฉ๋๋ค.
๋ณ์ NF ์ ๋ ฅ ๋ ์ฝ๋์ ์ด ํ๋ ์๋ก ์ค์ ๋ฉ๋๋ค.
์กด์ฌํ์ง ์๋ ํ๋์ ๋ํ ์ฐธ์กฐ(์ฆ, ๋ค์ ํ๋ $NF) null ๋ฌธ์์ด์ ์์ฑํฉ๋๋ค.
๊ทธ๋ฌ๋ ์กด์ฌํ์ง ์๋ ํ๋(์: $(NF+2) = 5) ๊ฐ์ ์ฆ๊ฐ์ํต๋๋ค. NF,
null ๋ฌธ์์ด์ ๊ฐ์ผ๋ก ์ฌ์ฉํ๋ ์ค๊ฐ ํ๋๋ฅผ ์์ฑํ๊ณ ๊ฐ์ ๋ฐ์์ํต๋๋ค.
of $0 ํ๋๊ฐ ๋ค์ ๊ฐ์ผ๋ก ๊ตฌ๋ถ๋์ด ๋ค์ ๊ณ์ฐ๋ฉ๋๋ค. FSO. ์ฐธ์กฐ
์์ ํ๋๋ก ๋ณ๊ฒฝํ๋ฉด ์น๋ช ์ ์ธ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ฐ์ NF ์ ๊ฐ์ ์ ๋ฐํฉ๋๋ค.
์์ค๋ ์ ๊ฐ์ ์ง๋ ํ๋์ $0 ๋ค์ ๊ณ์ฐํ
๊ฐ์ผ๋ก ๊ตฌ๋ถ๋๋ ํ๋ FSO.
๊ธฐ์กด ํ๋์ ๊ฐ์ ํ ๋นํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ ์ฒด ๋ ์ฝ๋๊ฐ ๋ค์ ์์ฑ๋ฉ๋๋ค. $0 is
์ฐธ์กฐ. ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ์ ํ ๋นํฉ๋๋ค. $0 ๋ ์ฝ๋๊ฐ ๋ค์ ๋ถํ ๋์ด ์์ฑ๋ฉ๋๋ค.
ํ๋์ ์ ๊ฐ.
๋ด์ฅ ๋ณ์
๋ํ ์ฌ๋์ ๋ด์ฅ ๋ณ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ARGC ๋ช ๋ น์ค ์ธ์์ ์(์ต์ ์ ํฌํจํ์ง ์์ ๋ํ ์ฌ๋, ๋๋
ํ๋ก๊ทธ๋จ ์์ค).
์๋ฅด์ง๋ ์ ์ธ๋ฑ์ค ARRGV ์ฒ๋ฆฌ ์ค์ธ ํ์ฌ ํ์ผ์
ARRGV ๋ช ๋ น์ค ์ธ์์ ๋ฐฐ์ด์ ๋๋ค. ๋ฐฐ์ด์ 0๋ถํฐ ARGC - 1.
๋ด์ฉ์ ๋์ ์ผ๋ก ๋ณ๊ฒฝ ARRGV ๋ฐ์ดํฐ์ ์ฌ์ฉ๋๋ ํ์ผ์ ์ ์ดํ ์ ์์ต๋๋ค.
๋น๋ชจ๋ ๋น POSIX ์์คํ ์์ ๋ชจ๋ ํ์ผ I/O์ ๋ํด "๋ฐ์ด๋๋ฆฌ" ๋ชจ๋ ์ฌ์ฉ์ ์ง์ ํฉ๋๋ค.
1, 2 ๋๋ 3์ ์ซ์ ๊ฐ์ ์ ๋ ฅ ํ์ผ, ์ถ๋ ฅ ํ์ผ ๋๋ ๋ชจ๋๋ฅผ ์ง์ ํฉ๋๋ค.
ํ์ผ์ ๊ฐ๊ฐ ๋ฐ์ด๋๋ฆฌ I/O๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ฌธ์์ด ๊ฐ "์๋ฅด ์ํ"๋ฐ "์ฐ"
์ ๋ ฅ ํ์ผ ๋๋ ์ถ๋ ฅ ํ์ผ์ด ๊ฐ๊ฐ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๋ก ์ง์
I/O. ๋ฌธ์์ด ๊ฐ "rw" or "wr" ๋ชจ๋ ํ์ผ์ด ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๋ก ์ง์
I/O. ๋ค๋ฅธ ๋ชจ๋ ๋ฌธ์์ด ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌ๋ฉ๋๋ค. "rw", ๊ทธ๋ฌ๋ ๊ฒฝ๊ณ ๋ฅผ ์์ฑํฉ๋๋ค
๋ฉ์์ง.
CONVFMT ์ซ์์ ๋ณํ ํ์, "%.6g", ๊ธฐ๋ณธ์ ์ผ๋ก.
ํ๊ฒฝ ํ์ฌ ํ๊ฒฝ์ ๊ฐ์ ํฌํจํ๋ ๋ฐฐ์ด์ ๋๋ค. ๋ฐฐ์ด์
ํ๊ฒฝ ๋ณ์์ ์ํด ์ธ๋ฑ์ฑ๋๋ฉฐ ๊ฐ ์์๋ ํด๋น ๊ฐ์ ๋๋ค.
๋ณ์(์: ํ๊ฒฝ["์ง"] ์ ์์ต๋๋ค "/ํ/์๋๋"). ์ด ๋ฐฐ์ด ๋ณ๊ฒฝ
ํ๋ก๊ทธ๋จ์ด ๋ณด๋ ํ๊ฒฝ์ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค. ๋ํ ์ฌ๋ ํตํด ์ฐ๋
๋ฆฌ๋๋ ์ ๋๋ ์ฒด๊ณ() ๊ธฐ๋ฅ.
์๋ฅด๋ ธ ์์คํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋ฆฌ๋๋ ์ ์ ์ํํ๊ฑฐ๋ Getline, ์ฝ๋ ๋์
for Getline๋๋ ๋์ ๋ซ๊ธฐ()๋ค์, ์๋ฅด๋ ธ ์ค๋ช ํ๋ ๋ฌธ์์ด์ ํฌํจํฉ๋๋ค.
์ค๋ฅ. ์ด ๊ฐ์ ์์ด๊ฐ ์๋ ๋ก์ผ์ผ๋ก ๋ฒ์ญ๋ ์ ์์ต๋๋ค.
ํ๋ํญ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ ํ๋ ๋๋น ๋ชฉ๋ก์ ๋๋ค. ์ค์ ํ ๋, ๋ํ ์ฌ๋ ์ ๋ ฅ์ ๊ตฌ๋ฌธ ๋ถ์
๊ฐ์ ์ฌ์ฉํ๋ ๋์ ๊ณ ์ ๋๋น์ ํ๋๋ก FS ๋ณ์
ํ๋ ๊ตฌ๋ถ์. ๋ณด๋ค Fields์์.
ํ์ผ ์ด๋ฆ ํ์ฌ ์ ๋ ฅ ํ์ผ์ ์ด๋ฆ์ ๋๋ค. ๋ช ๋ น์ ํ์ผ์ด ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ
์ , ๊ฐ ํ์ผ ์ด๋ฆ ์ด๋ค "-". ํ์ง๋ง, ํ์ผ ์ด๋ฆ ๋ด๋ถ์ ์ ์๋์ง ์์
BEGIN ๊ท์น(์ ์ํด ์ค์ ๋์ง ์๋ ํ Getline).
FNR ํ์ฌ ์ ๋ ฅ ํ์ผ์ ์ ๋ ฅ ๋ ์ฝ๋ ๋ฒํธ์ ๋๋ค.
FPAT ๋ ์ฝ๋์ ํ๋ ๋ด์ฉ์ ์ค๋ช ํ๋ ์ ๊ท์์ ๋๋ค. ์ธ์
์ธํธ, ๋ํ ์ฌ๋ ํ๋๊ฐ ์ผ๋ฐ๊ณผ ์ผ์นํ๋ ํ๋๋ก ์ ๋ ฅ์ ๊ตฌ๋ฌธ ๋ถ์ํฉ๋๋ค.
์ ๊ฐ์ ์ฌ์ฉํ๋ ๋์ FS ํ๋๋ก ๋ณ์
๋ถ๋ฆฌ ๊ธฐํธ. ๋ณด๋ค Fields์์.
FS ๊ธฐ๋ณธ์ ์ผ๋ก ๊ณต๋ฐฑ์ธ ์ ๋ ฅ ํ๋ ๊ตฌ๋ถ ๊ธฐํธ์ ๋๋ค. ๋ณด๋ค Fields์์.
๊ธฐ๋ฅ ํญ ์ธ๋ฑ์ค์ ํด๋น ๊ฐ์ด ๋ชจ๋ ์ฌ์ฉ์์ ์ด๋ฆ์ธ ๋ฐฐ์ด
ํ๋ก๊ทธ๋จ์์ ์ ์๋๊ฑฐ๋ ํ์ฅ ๊ธฐ๋ฅ. ์ฃผ์์ฌํญ: ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ญ์ ์ฑ๋ช ์ ๊ธฐ๋ฅ ํญ ์ ๋ ฌ.
๋์๋ฌธ์ ๋ฌด์ ๋ชจ๋ ์ ๊ท์ ๋ฐ ๋ฌธ์์ด ์ฐ์ฐ์ ๋์๋ฌธ์ ๊ตฌ๋ถ์ ์ ์ดํฉ๋๋ค.
If ๋์๋ฌธ์ ๋ฌด์ XNUMX์ด ์๋ ๊ฐ์ ๊ฐ์ง ๋ค์ ๋ฌธ์์ด ๋น๊ต ๋ฐ โโํจํด
๊ท์น์์ ์ผ์น, ํ๋ ๋ถํ FS ๊ณผ FPAT, ๋ ์ฝ๋ ๋ถ๋ฆฌ
RS, ๋ค์๊ณผ ์ผ์นํ๋ ์ ๊ท์ ~ ๊ณผ !~๋ฐ ์ ์ญ(), gsub(),
์ธ๋ฑ์ค(), ์ฑ๋ฅ(), ํจํธ ์คํ๋ฆฟ(), ์คํ๋ฆฟ()๋ฐ ๋ณด๊ฒฐ() ๋ด์ฅ ํจ์ ๋ชจ๋ ๋ฌด์
์ ๊ท ํํ์ ์์ ์ ์ํํ๋ ๊ฒฝ์ฐ. ์ฃผ์์ฌํญ: ๋ฐฐ์ด ์ฒจ์๋
์ง์ ์ฒดํ๋. ๊ทธ๋ฌ๋, ๊ทธ asort () ๊ณผ ๋ถ๋ฅ() ๊ธฐ๋ฅ์ด ์ํฅ์ ๋ฐ์ต๋๋ค.
๋ฐ๋ผ์ ๋์๋ฌธ์ ๋ฌด์ XNUMX์ด ์๋๋๋ค. /aB/ ๋ชจ๋ ๋ฌธ์์ด๊ณผ ์ผ์น
"์", "์์ด๋น", "์๋ธ"๋ฐ "AB". ๋ชจ๋ AWK ๋ณ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๊ธฐ๊ฐ์
๋์๋ฌธ์ ๋ฌด์ ๊ฐ XNUMX์ด๋ฏ๋ก ๋ชจ๋ ์ ๊ท์ ๋ฐ ๋ฌธ์์ด ์ฐ์ฐ์
์ผ๋ฐ์ ์ผ๋ก ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํฉ๋๋ค.
๋ฆฐํธ ๋์ ์ ์ด๋ฅผ ์ ๊ณตํฉ๋๋ค. --๋ฆฐํธ AWK ํ๋ก๊ทธ๋จ ๋ด์์ ์ต์ .
์ฌ์ค์ผ ๋, ๋ํ ์ฌ๋ ๋ฆฐํธ ๊ฒฝ๊ณ ๋ฅผ ์ธ์ํฉ๋๋ค. ๊ฑฐ์ง์ด๋ฉด ๊ทธ๋ ์ง ์์ต๋๋ค. ๋ฐฐ์ ๋ ๊ฒฝ์ฐ
๋ฌธ์์ด ๊ฐ "์น๋ช ์ ์ธ", lint ๊ฒฝ๊ณ ๋ ๋ค์๊ณผ ๊ฐ์ด ์น๋ช ์ ์ธ ์ค๋ฅ๊ฐ ๋ฉ๋๋ค.
--๋ฆฐํธ=์น๋ช ์ . ๋ค๋ฅธ ์ฐธ ๊ฐ์ ๊ฒฝ๊ณ ๋ง ์ถ๋ ฅํฉ๋๋ค.
NF ํ์ฌ ์ ๋ ฅ ๋ ์ฝ๋์ ํ๋ ์์ ๋๋ค.
NR ์ง๊ธ๊น์ง ๋ณธ ์ ๋ ฅ ๋ ์ฝ๋์ ์ด ์์ ๋๋ค.
OFMT ์ซ์์ ์ถ๋ ฅ ํ์, "%.6g", ๊ธฐ๋ณธ์ ์ผ๋ก.
FSO ์ถ๋ ฅ ํ๋ ๊ตฌ๋ถ ๊ธฐํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ณต๋ฐฑ์ ๋๋ค.
ORS ์ถ๋ ฅ ๋ ์ฝ๋ ๊ตฌ๋ถ ๊ธฐํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐํ์ ๋๋ค.
PREC ์์ ์ ๋ฐ๋ ๋ถ๋ ์์์ ์ซ์์ ์๋ ์ ๋ฐ๋, 53 by
ํ๋ง.
ํ๋ก์ ํฌ ์ด ๋ฐฐ์ด์ ์์๋ ์คํ ์ค์ธ AWK์ ๋ํ ์ ๋ณด์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
ํ๋ก๊ทธ๋จ. ์ผ๋ถ ์์คํ ์์๋ ๋ฐฐ์ด์ ์์๊ฐ ์์ ์ ์์ต๋๋ค. "๊ทธ๋ฃน1"
์ ํตํ์ฌ "๊ทธ๋ฃนn" ์ผ๋ถ n, ์ด๋ ๋ณด์ถฉ ๊ทธ๋ฃน์ ์์ ๋๋ค.
ํ๋ก์ธ์ค๊ฐ ์์ต๋๋ค. ์ฌ์ฉ in ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ์์๋ฅผ ํ ์คํธํฉ๋๋ค. ๊ทธ๋งํผ
๋ค์ ์์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
PROCINFO["egid"] ์ ๊ฐ์น getegid(2) ์์คํ ํธ์ถ.
PROCINFO["strftime"]
์ ๋ํ ๊ธฐ๋ณธ ์๊ฐ ํ์ ๋ฌธ์์ด strftime ().
PROCINFO["์ ์ด๋"] ์ ๊ฐ์น ๊ฒํฌ์ด๋(2) ์์คํ ํธ์ถ.
PROCINFO["FS"] "FS" if ํ๋ ๋ถํ FS ์ํ๋๊ณ ์์ผ๋ฉฐ, "FPAT" if
ํ๋ ๋ถํ FPAT ํจ๋ ฅ์ด ๋ฐ์ํ๊ฑฐ๋ "ํ๋ ๋๋น"
if ํ๋ ๋ถํ ํ๋ํญ ์ ํจํฉ๋๋ค.
PROCINFO["์๋ณ์"]
์ฌ์ฉ๋ ๋ชจ๋ ์๋ณ์์ ์ด๋ฆ์ผ๋ก ์ธ๋ฑ์ฑ๋ ํ์ ๋ฐฐ์ด
AWK ํ๋ก๊ทธ๋จ์ ํ ์คํธ์์. ๊ฐ์ ๋ฌด์์ ๋ํ๋ ๋๋ค.
๋ํ ์ฌ๋ ์๋ฃ๋ ํ ์๋ณ์์ ๋ํด ์๊ณ ์์ต๋๋ค.
ํ๋ก๊ทธ๋จ ํ์ฑ; ๊ทธ๋ค์ ์ง์ ๋์ ์ ๋ฐ์ดํธ
ํ๋ก๊ทธ๋จ์ด ์คํ๋ฉ๋๋ค. ๊ฐ ์๋ณ์์ ๊ฐ์
์์๋ ๋ค์ ์ค ํ๋์ ๋๋ค.
"์ ๋ ฌ"
์๋ณ์๋ ๋ฐฐ์ด์ ๋๋ค.
"๋ด์ฅ"
์๋ณ์๋ ๋ด์ฅ ํจ์์ ๋๋ค.
"ํ๋"
์๋ณ์๋ ๋ค์์ ํตํด ๋ก๋๋ ํ์ฅ ๊ธฐ๋ฅ์ ๋๋ค.
@์ง or -l.
"์ค์นผ๋ผ"
์๋ณ์๋ ์ค์นผ๋ผ์ ๋๋ค.
"์ ํ์ด ์ง์ ๋์ง ์์"
์๋ณ์๋ ์ ํ์ด ์์ต๋๋ค(
์ค์นผ๋ผ ๋๋ ๋ฐฐ์ด, ๋ํ ์ฌ๋ ์์ง ๋ชจ๋ฅธ๋ค).
"์ฌ์ฉ์" ์๋ณ์๋ ์ฌ์ฉ์ ์ ์ ํจ์์ ๋๋ค.
PROCINFO["gid"] ์ ๊ฐ์น ๋นํฉํ๋ค(2) ์์คํ ํธ์ถ.
PROCINFO["pgrpid"] ํ์ฌ ํ๋ก์ธ์ค์ ํ๋ก์ธ์ค ๊ทธ๋ฃน ID์ ๋๋ค.
PROCINFO["pid"] ํ์ฌ ํ๋ก์ธ์ค์ ํ๋ก์ธ์ค ID์ ๋๋ค.
PROCINFO["ppid"] ํ์ฌ ํ๋ก์ธ์ค์ ์์ ํ๋ก์ธ์ค ID์ ๋๋ค.
PROCINFO["์ ์ฒด"] ์ ๊ฐ์น ๊ฒํฌ์ด๋(2) ์์คํ ํธ์ถ.
PROCINFO["์ ๋ ฌ๋_์ธ"]
์ด ์์๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ ํ๋ก์ ํฌ, ๊ทธ ๊ฐ
๋ฐฐ์ด ์์๊ฐ ์ํ๋๋ ์์๋ฅผ ์ ์ดํฉ๋๋ค.
in for ๋ฃจํ. ์ง์๋๋ ๊ฐ์ "@ind_str_asc",
"@ind_num_asc", "@val_type_asc", "@val_str_asc",
"@val_num_asc", "@ind_str_desc", "@ind_num_desc",
"@val_type_desc", "@val_str_desc", "@val_num_desc"๋ฐ
"@์ ๋ ฌ๋์ง ์์". ๊ฐ์ ๋ํ ์์์ ์ด๋ฆ์ด ๋ ์ ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ์ ์๋ ๋น๊ต ํจ์:
๊ธฐ๋ฅ cmp_func(i1, v1, ์์ด2, v2)
์ด๋์ i1 ๊ณผ i2 ์ง์์ด๊ณ , v1 ๊ณผ v2 ์๋
๋น๊ต๋๋ ๋ ์์์ ํด๋น ๊ฐ.
๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๊ฑฐ๋ ํฐ ์ซ์๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค.
๋ฐฐ์ด์ ์์๊ฐ ์ด๋ป๊ฒ ๋๋์ง์ ๋ฐ๋ผ 0๋ณด๋ค
์ฃผ๋ฌธํ์ญ์์ค.
PROCINFO["์ ๋ ฅ", "READ_TIMEOUT"]
๋ฐ์ดํฐ๋ฅผ ์ฝ๊ธฐ ์ํ ์๊ฐ ์ ํ(๋ฐ๋ฆฌ์ด) ์ ๋ ฅ,
์ด๋์ ์ ๋ ฅ ๋ฆฌ๋๋ ์ ๋ฌธ์์ด ๋๋ ํ์ผ ์ด๋ฆ์ ๋๋ค. ๊ฐ์น
XNUMX ๋๋ XNUMX ๋ฏธ๋ง์ ์๊ฐ ์ด๊ณผ๊ฐ ์์์ ์๋ฏธํฉ๋๋ค.
PROCINFO["mpfr_๋ฒ์ "]
์์์ ์ฌ์ฉ๋๋ GNU MPFR ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฒ์
์ ๋ฐ๋ ์ซ์ ์ง์ ๋ํ ์ฌ๋. ์ด ํญ๋ชฉ์
MPFR ์ง์์ด ๋ค์์ผ๋ก ์ปดํ์ผ๋์ง ์์ ๊ฒฝ์ฐ ์กด์ฌ ๋ํ ์ฌ๋.
PROCINFO["gmp_๋ฒ์ "]
์์์ ์ฌ์ฉ๋๋ GNU MP ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฒ์
์ ๋ฐ๋ ์ซ์ ์ง์ ๋ํ ์ฌ๋. ์ด ํญ๋ชฉ์
MPFR ์ง์์ด ๋ค์์ผ๋ก ์ปดํ์ผ๋์ง ์์ ๊ฒฝ์ฐ ์กด์ฌ ๋ํ ์ฌ๋.
PROCINFO["prec_max"]
GNU MPFR ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ง์ํ๋ ์ต๋ ์ ๋ฐ๋
์์ ์ ๋ฐ๋ ๋ถ๋ ์์์ ์ซ์์ ๊ฒฝ์ฐ. ์ด๊ฒ
MPFR ์ง์์ด ์ปดํ์ผ๋์ง ์์ ๊ฒฝ์ฐ ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
๋ํ ์ฌ๋.
PROCINFO["prec_min"]
GNU MPFR ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ฉํ๋ ์ต์ ์ ๋ฐ๋
์์ ์ ๋ฐ๋ ๋ถ๋ ์์์ ์ซ์. ์ด ํญ๋ชฉ์
MPFR ์ง์์ด ๋ค์์ผ๋ก ์ปดํ์ผ๋์ง ์์ผ๋ฉด ์กด์ฌํ์ง ์์ต๋๋ค. ๋ํ ์ฌ๋.
PROCINFO["api_major"]
ํ์ฅ API์ ์ฃผ ๋ฒ์ ์ ๋๋ค. ์ด ํญ๋ชฉ์
๋์ ํ์ฅ์ ๋ก๋ํ ์ ์๋ ๊ฒฝ์ฐ ํ์๋ฉ๋๋ค.
PROCINFO["api_minor"]
ํ์ฅ API์ ๋ง์ด๋ ๋ฒ์ ์ ๋๋ค. ์ด ํญ๋ชฉ์
๋์ ํ์ฅ์ ๋ก๋ํ ์ ์๋ ๊ฒฝ์ฐ ํ์๋ฉ๋๋ค.
PROCINFO["๋ฒ์ "] ๋ฒ์ ๋ํ ์ฌ๋.
๋ผ์ด๋ ๋ชจ๋ ์ซ์์ ๋ํ ์์ ์ ๋ฐ๋ ์ฐ์ ์ ์ฌ์ฉํ ๋ฐ์ฌ๋ฆผ ๋ชจ๋์ ๋๋ค.
๋ํดํธ ๊ฐ "์" (IEEE-754 roundTiesToEven ๋ชจ๋). ํ์ฉ๋๋ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. "์" or
"N" roundTiesToEven์ ๊ฒฝ์ฐ, "์ " or "์ " roundTowardPositive์ ๊ฒฝ์ฐ, "D" or "๋" for
๋ฐ์ฌ๋ฆผ์์, "์ง" or "์ง" roundTowardZero์ ๊ฒฝ์ฐ ๋ฒ์ ์ด
GNU MPFR ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ง์ํ๋ฉฐ, "A" or "ใ " roundTiesToAway์ ๊ฒฝ์ฐ.
RS ์ ๋ ฅ ๋ ์ฝ๋ ๊ตฌ๋ถ ๊ธฐํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐํ์ ๋๋ค.
RT ๋ ์ฝ๋ ํฐ๋ฏธ๋ค์ดํฐ. ๋ํ ์ฌ๋ ์ธํธ RT ์ผ์นํ๋ ์ ๋ ฅ ํ ์คํธ์
๋ค์์ ์ํด ์ง์ ๋ ๋ฌธ์ ๋๋ ์ ๊ท์ RS.
์์ ์ผ์นํ๋ ์ฒซ ๋ฒ์งธ ๋ฌธ์์ ์ธ๋ฑ์ค ์ฑ๋ฅ(); ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ 0์ ๋๋ค. (์ด๊ฒ
๋ฌธ์ ์ธ๋ฑ์ค๊ฐ XNUMX๋ถํฐ ์์ํจ์ ์๋ฏธํฉ๋๋ค.)
๊ธธ์ด ์ผ์นํ๋ ๋ฌธ์์ด์ ๊ธธ์ด ์ฑ๋ฅ(); ์ผ์นํ๋ ํญ๋ชฉ์ด ์์ผ๋ฉด -1์ ๋๋ค.
์๋ธ์ ๋ฐฐ์ด ์์์์ ์ฌ๋ฌ ์ฒจ์๋ฅผ ๊ตฌ๋ถํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ฌธ์
๋ํดํธ ๊ฐ "\ 034".
์ฌํญ ์ธ๋ฑ์ค๊ฐ ํ์ฌ ์ ์๋ ๋ชจ๋ ์ ์ญ ๋ณ์์ ์ด๋ฆ์ธ ๋ฐฐ์ด
๊ทธ๋ฆฌ๊ณ ํ๋ก๊ทธ๋จ์ ๋ฐฐ์ด. ์ด๋ ์ด๋ ์ฝ๊ธฐ์ ๋ํ ๊ฐ์ ์ก์ธ์ค์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
๋๋ ๋ณ์ ๊ฐ์ ์ฐ์ญ์์ค.
ํธ = 5
SYMTAB["ํธ"] = 4
์ธ์ ํธ # ์ธ์๋ฌผ 4
XNUMXD๋ดํ์ isarray() ํจ์๋ ์์๊ฐ ์๋์ง ํ ์คํธํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌํญ ๋ Teledyne LeCroy ์ค์ค๋ก์ค์ฝํ ๋ฐ LSA-XNUMX ์๋ฆฌ์ฆ ์๋ฒ ๋๋ ์ ํธ ๋ถ์๊ธฐ๊ฐ
์ ๋ ฌ. ๋ค์์ ์ฌ์ฉํ์ง ์์ ์ ์์ต๋๋ค. ์ญ์ ์ฑ๋ช ์ ์ฌํญ ์ ๋ ฌ.
ํ ์คํธ ๋๋ฉ์ธ AWK ํ๋ก๊ทธ๋จ์ ํ ์คํธ ๋๋ฉ์ธ. ํ์งํ ๋ ๋ฒ์ญ์ ์ฐพ๋ ๋ฐ ์ฌ์ฉ
ํ๋ก๊ทธ๋จ์ ๋ฌธ์์ด.
๋ฐฐ์ด
๋ฐฐ์ด์ ๋๊ดํธ([ ๊ณผ ]). ๋ง์ฝ
์์ ์ ๋ชฉ๋ก(ํน๊ธ, ํน๊ธ ...) ๊ทธ๋ฌ๋ฉด ๋ฐฐ์ด ์ฒจ์๋ ๋ฌธ์์ด์ ๋๋ค.
๊ฐ ํํ์์ (๋ฌธ์์ด) ๊ฐ์ ์ฐ๊ฒฐ๋ก ๊ตฌ์ฑ๋๋ฉฐ,
๊ฐ์น ์๋ธ์ ๋ณํ๊ธฐ ์ฌ์ด. ์ด ๊ธฐ๋ฅ์ ๋ค์ฐจ์ ์๋ฎฌ๋ ์ด์ ์ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฐฐ์ด. ์๋ฅผ ๋ค์ด:
i = "ใ "; j = "๋น"; k = "C"
x[๋๋, j, k] = "์๋ ํ์ธ์, ์ธ๊ณ\n"
๋ฌธ์์ด์ ํ ๋น "์๋ ํ์ธ์, ์ธ๊ณ\n" ๋ฐฐ์ด์ ์์์ x ์ ์ํด ์์ธ์ด ์์ฑ๋ฉ๋๋ค.
ํ "A\034B\034C". AWK์ ๋ชจ๋ ๋ฐฐ์ด์ ์ฐ๊ด๋์ด ์์ต๋๋ค. ์ฆ, ๋ฌธ์์ด ๊ฐ์ผ๋ก ์ธ๋ฑ์ฑ๋ฉ๋๋ค.
ํน์ ์ฐ์ฐ์ in ๋ฐฐ์ด์ ๋ค์์ผ๋ก ๊ตฌ์ฑ๋ ์ธ๋ฑ์ค๊ฐ ์๋์ง ํ ์คํธํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํน์ ๊ฐ:
if (๊ฐ in ์ ๋ ฌ)
์ธ์ ๋ฐฐ์ด[๊ฐ]
๋ฐฐ์ด์ ์ฌ๋ฌ ๊ฐ์ ์ฒจ์๊ฐ ์๋ ๊ฒฝ์ฐ ๋ค์์ ์ฌ์ฉํ์ญ์์ค. (๋, j) in ์ ๋ ฌ.
XNUMXD๋ดํ์ in ๊ตฌ์กฐ๋ ๋ค์์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. for ์ ๋ชจ๋ ์์๋ฅผ โโ๋ฐ๋ณตํ๋ ๋ฃจํ
์ ๋ ฌ. ๊ทธ๋ฌ๋, ๊ทธ (๋, j) in ์ ๋ ฌ ๊ตฌ์ฑ์ ํ ์คํธ์์๋ง ์๋ํฉ๋๋ค. for ๋ฃจํ.
๋ค์์ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์์ ์์๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. ์ญ์ ์ฑ๋ช ์. ๊ทธ๋งํผ ์ญ์ ์ฑ๋ช ์
๋ฐฐ์ด์ ์ง์ ํ์ฌ ๋ฐฐ์ด์ ์ ์ฒด ๋ด์ฉ์ ์ญ์ ํ๋ ๋ฐ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
์ฒจ์ ์๋ ์ด๋ฆ.
๋ํ ์ฌ๋ ์ง์ ํ ๋ค์ฐจ์ ๋ฐฐ์ด์ ์ง์ํฉ๋๋ค. ์ด๋ฌํ ๋ฐฐ์ด์ด ๋ฐ๋์ ํ์ํ์ง๋ ์์ต๋๋ค.
C๋ C++์์์ ๊ฐ์ด ``์ง์ฌ๊ฐํ''. ์๋ฅผ ๋ค์ด:
์์ด[1] = 5
[2][1] = 6
[2][2] = 7
์ฃผ์์ฌํญ: ๋น์ ์ ๋งํ ํ์๊ฐ์์ ์ ์์ต๋๋ค ๋ํ ์ฌ๋ ๋ฐฐ์ด ์์๋ ์ค์ ๋ก ์ฌ์ฉํ๊ธฐ ์ํ ํ์ ๋ฐฐ์ด์ ๋๋ค.
๊ทธ๊ฒ์ ์ด๋์ ๋ํ ์ฌ๋ ๋ฐฐ์ด์ ๊ธฐ๋ํฉ๋๋ค(์: ๋ ๋ฒ์งธ ์ธ์์์ ์คํ๋ฆฟ()). ๋ ํ ์์์ด
ํ์ ๋ฐฐ์ด์ ์์๋ฅผ ๋ง๋ ๋ค์ ์ญ์
์ฑ๋ช ์.
๋ณํ๊ธฐ ์ฌ์ด ํ์ดํ Audiencegain๊ณผ ๋งค์ถ ์์น
๋ณ์์ ํ๋๋ (๋ถ๋ ์์์ ) ์ซ์๋ ๋ฌธ์์ด ๋๋ ๋ ๋ค์ผ ์ ์์ต๋๋ค. ์ด๋ป๊ฒ ๊ฐ์น
๋ณ์์ ํด์์ ์ปจํ ์คํธ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ์ซ์ ์์ ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ
์ซ์๋ก ์ทจ๊ธ๋ฉ๋๋ค. ๋ฌธ์์ด๋ก ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ ๋ฌธ์์ด๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
๋ณ์๋ฅผ ์ซ์๋ก ์ฒ๋ฆฌํ๋ ค๋ฉด ๋ณ์์ 0์ ์ถ๊ฐํ์ญ์์ค. ๋ก ์ทจ๊ธ๋๋๋ก ๊ฐ์ ํฉ๋๋ค.
๋ฌธ์์ด, null ๋ฌธ์์ด๊ณผ ์ฐ๊ฒฐํฉ๋๋ค.
์ด๊ธฐํ๋์ง ์์ ๋ณ์๋ ์ซ์ ๊ฐ 0๊ณผ ๋ฌธ์์ด ๊ฐ ""(null ๋๋
๋น์ด ์์, ๋ฌธ์์ด).
๋ฌธ์์ด์ ์ซ์๋ก ๋ณํํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ณํ์ ๋ค์์ ์ฌ์ฉํ์ฌ ์ํ๋ฉ๋๋ค.
strtod(์ผ). ์ซ์๋ ๋ค์ ๊ฐ์ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด๋ก ๋ณํ๋ฉ๋๋ค. CONVFMT ํ์์ผ๋ก
๋ฌธ์์ด ์คํ๋ฆฐํธ(3) ๋ณ์์ ์ซ์ ๊ฐ์ ์ธ์๋ก ์ฌ์ฉํฉ๋๋ค. ํ์ง๋ง,
AWK์ ๋ชจ๋ ์ซ์๊ฐ ๋ถ๋ ์์์ ์ด์ง๋ง ์ ์ ๊ฐ์ ํญ์ ๋ก ๋ณํ
์ ์. ๋ฐ๋ผ์ ์ฃผ์ด์ง
CONVFMT = "%2.2f"
a = 12
b = a ""
๋ณ์ b ๋ฌธ์์ด ๊ฐ์ด "12" ํ์ง "12.00".
์ฃผ์์ฌํญ: POSIX ๋ชจ๋์์ ์๋ํ๋ ๊ฒฝ์ฐ(์: --ํฌ์์ค ์ต์ ), ํด๋น ๋ก์ผ์ผ ์ฃผ์
์ค์ ์ ์ญ์ง์๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ๋ฐฉํดํ ์ ์์ต๋๋ค.
๋น์ ์ด ๋จน์ด๋ ์ซ์ ๋ํ ์ฌ๋ ๊ทํ์ ๋ก์ผ์ผ์ด ๊ธฐ๋ํ๋ ๋ฐ๋ฅผ ์ค์ํด์ผ ํฉ๋๋ค.
์ผํ(,) ๋๋ ๋ง์นจํ(.).
๋ํ ์ฌ๋ ๋ค์๊ณผ ๊ฐ์ด ๋น๊ต๋ฅผ ์ํํฉ๋๋ค. ๋ ๋ณ์๊ฐ ์ซ์์ด๋ฉด ๋น๊ต๋ฉ๋๋ค.
์ซ์๋ก. ํ ๊ฐ์ด ์ซ์์ด๊ณ ๋ค๋ฅธ ๊ฐ์ด "์ซ์"์ธ ๋ฌธ์์ด ๊ฐ์ ๊ฐ๋ ๊ฒฝ์ฐ
stringโ์ด๋ฉด ๋น๊ต๋ ์ซ์๋ก ์ํ๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ซ์ ๊ฐ์
๋ฌธ์์ด๋ก ๋ณํ๋๊ณ ๋ฌธ์์ด ๋น๊ต๊ฐ ์ํ๋ฉ๋๋ค. ๋ ๋ฌธ์์ด์ด ๋น๊ต๋ฉ๋๋ค.
๋ฌผ๋ก ๋ฌธ์์ด๋ก.
๋ค์๊ณผ ๊ฐ์ ๋ฌธ์์ด ์์์ ์ ์ํ์ญ์์ค. "57"์์ ์ง์ ์ซ์ ๋ฌธ์์ด, ๊ทธ๋ค์ ๋ฌธ์์ด์ ๋๋ค
์์. "์ซ์ ๋ฌธ์์ด"์ ๊ฐ๋ ์ ํ๋์๋ง ์ ์ฉ๋ฉ๋๋ค. Getline ์ ๋ ฅ, ํ์ผ ์ด๋ฆ,
ARRGV ์ง๋จ, ํ๊ฒฝ ์ํด ์์ฑ๋ ๋ฐฐ์ด์ ์์ ๋ฐ ์์ ์คํ๋ฆฟ() or
ํจํธ ์คํ๋ฆฟ() ์ซ์ ๋ฌธ์์ด์ ๋๋ค. ๊ธฐ๋ณธ ์์ด๋์ด๋ ์ฌ์ฉ์ ์ ๋ ฅ, ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์๋ง
์ซ์์ฒ๋ผ ๋ณด์ด๋ ์ ๋ ฅ์ ๊ทธ๋ฐ ์์ผ๋ก ์ฒ๋ฆฌ๋์ด์ผ ํฉ๋๋ค.
8 ์ง๋ฒ ๊ณผ ์ง์ ์์
AWK ํ๋ก๊ทธ๋จ ์์ค ์ฝ๋์์ C ์คํ์ผ์ XNUMX์ง์ ๋ฐ XNUMX์ง์ ์์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ ์ํ
์๋ฅผ ๋ค์ด, XNUMX์ง์ ๊ฐ 011 ์ญ์ง๋ฒ๊ณผ ๊ฐ๋ค 9๋ฐ XNUMX์ง์ ๊ฐ 0 X 11 is
์ญ์ง์ 17๊ณผ ๊ฐ์ต๋๋ค.
๋ ์์
AWK์ ๋ฌธ์์ด ์์๋ ํฐ๋ฐ์ดํ๋ก ๋ฌถ์ธ ์ผ๋ จ์ ๋ฌธ์์ ๋๋ค(์:
"๊ฐ"). ๋ฌธ์์ด ๋ด์์ ํน์ ํ์ถ ์ํ์ค C์์์ ๊ฐ์ด ์ธ์๋ฉ๋๋ค. ์ด๋ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
\\ ๋ฌธ์ ๊ทธ๋๋ก ๋ฐฑ์ฌ๋์์ ๋๋ค.
\a "๊ฒฝ๊ณ " ๋ฌธ์; ์ผ๋ฐ์ ์ผ๋ก ASCII BEL ๋ฌธ์์ ๋๋ค.
\b ์ญํ ํค์ด.
\f ์์ ๊ณต๊ธ.
\n ์ค ๋ฐ๊ฟ.
\r ์บ๋ฆฌ์ง ๋ฆฌํด.
\t ์ํ ํญ.
\v ์์ง ํญ.
\x๋ง๋ ์ซ์
๋ค์์ XNUMX์ง์ ๋ฌธ์์ด๋ก ํ์๋๋ ๋ฌธ์ \x. ์ผ๋ก
ISO C์์ ๋ค์์ ๋ชจ๋ XNUMX์ง์๋ ์ด์ค์ผ์ดํ์ ์ผ๋ถ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
์์. (์ด ๊ธฐ๋ฅ์ ์ธ์ด ์ค๊ณ์ ๋ํด
์์ํ.) ์, "\x1B" ASCII ESC(์ด์ค์ผ์ดํ) ๋ฌธ์์ ๋๋ค.
\DDD 1์ง์์ 2, 3 ๋๋ XNUMX์๋ฆฌ ์ํ์ค๋ก ํ์๋๋ ๋ฌธ์์ ๋๋ค. ์๋ฅผ ๋ค์ด,
"\ 033" ASCII ESC(์ด์ค์ผ์ดํ) ๋ฌธ์์ ๋๋ค.
\c ๋ฆฌํฐ๋ด ๋ฌธ์ c.
์ด์ค์ผ์ดํ ์ํ์ค๋ ์์ ์ ๊ท์(์:
/[ \t\f\n\r\v]/ ๊ณต๋ฐฑ ๋ฌธ์์ ์ผ์น).
ํธํ ๋ชจ๋์์ XNUMX์ง์ ๋ฐ XNUMX์ง์ ์ด์ค์ผ์ดํ๋ก ํ์๋๋ ๋ฌธ์
์ํ์ค๋ ์ ๊ท์ ์์์์ ์ฌ์ฉ๋ ๋ ๋ฌธ์ ๊ทธ๋๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๋ฐ๋ผ์, /a\52b/
์ ํด๋นํ๋ /a\*b/.
ํจํด ๋ฐ ACTIONS
AWK๋ ๋ผ์ธ ์งํฅ ์ธ์ด์ ๋๋ค. ํจํด์ด ๋จผ์ ๋์จ ๋ค์ ํ๋์ด ๋์ต๋๋ค. ํ๋
์ง์ ์ด ๋๋ด๋์ด ์์ต๋๋ค. { ๊ณผ }. ํจํด์ด ๋๋ฝ๋์๊ฑฐ๋ ์์ ์ด
๋๋ฝ๋์์ง๋ง ๋ฌผ๋ก ๋ ๋ค๋ ์๋๋๋ค. ํจํด์ด ์์ผ๋ฉด ์์ ์ด ์คํ๋ฉ๋๋ค.
๋ชจ๋ ๋จ์ผ ์ ๋ ฅ ๋ ์ฝ๋์ ๋ํด. ๋๋ฝ๋ ์์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
{ ์ธ์ }
์ ์ฒด ๋ ์ฝ๋๋ฅผ ์ธ์ํฉ๋๋ค.
์ฃผ์์ ๋ค์์ผ๋ก ์์ํฉ๋๋ค. # ๋ฌธ์๋ฅผ ์ ๋ ฅํ๊ณ ์ค ๋๊น์ง ๊ณ์ํฉ๋๋ค. ๋น ์ค
์ง์ ์ ๊ตฌ๋ถํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ช ๋ น๋ฌธ์ ๊ฐํ ๋ฌธ์๋ก ๋๋์ง๋ง
์ผํ๋ก ๋๋๋ ์ค์๋ ํด๋น๋์ง ์์ต๋๋ค. {, ?, :, &&๋ฐ ||. ๋ค์์ผ๋ก ๋๋๋ ์ค do
or ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ํ ๋ค์ ํ์์ ๋ช ๋ น๋ฌธ์ด ์๋์ผ๋ก ๊ณ์๋๋๋ก ํฉ๋๋ค. ~ ์์
๋ค๋ฅธ ๊ฒฝ์ฐ์๋ "\"๋ก ๋๋์ ์ค์ ๊ณ์ํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์ ์ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฌด์๋์์ต๋๋ค.
์ฌ๋ฌ ๋ฌธ์ ";"๋ก ๊ตฌ๋ถํ์ฌ ํ ์ค์ ์ ๋ ฅํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ๋ค์์ ์ ์ฉ๋ฉ๋๋ค
ํจํด-์ก์ ์(์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ)์ ์ก์ ๋ถ๋ถ ๋ด์ ๋ช ๋ น๋ฌธ๊ณผ
ํจํด-์ก์ ๋ฌธ ์์ฒด์.
ํจํด
AWK ํจํด์ ๋ค์ ์ค ํ๋์ผ ์ ์์ต๋๋ค.
BEGIN
END
์์ ํ์ผ
์ต์ข ํ์ผ
/์ ๊ท๋ณ ํํ/
๊ด๊ณํ ํํ
๋ฌด๋ฌ && ๋ฌด๋ฌ
๋ฌด๋ฌ || ๋ฌด๋ฌ
๋ฌด๋ฌ ? ๋ฌด๋ฌ : ๋ฌด๋ฌ
(๋ฌด๋ฌ)
! ๋ฌด๋ฌ
pattern1, pattern2
BEGIN ๊ณผ END ์ ๋ ฅ์ ๋ํด ํ ์คํธ๋์ง ์๋ ๋ ๊ฐ์ง ํน๋ณํ ์ข ๋ฅ์ ํจํด์ ๋๋ค.
๋ชจ๋์ ํ๋ ๋ถ๋ถ BEGIN ํจํด์ ๋ชจ๋ ๋ช ๋ น๋ฌธ์ด ๋ณํฉ๋ ๊ฒ์ฒ๋ผ ๋ณํฉ๋ฉ๋๋ค.
ํ์ฅ์ผ๋ก ์์ฑ BEGIN ๊ท์น. ์ ๋ ฅ์ ์ฝ๊ธฐ ์ ์ ์คํ๋ฉ๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก, ๋ชจ๋ END ๊ท์น์ด ๋ณํฉ๋๊ณ ๋ชจ๋ ์ ๋ ฅ์ด ์์ง๋๋ฉด(๋๋
๋ ์ถ๊ตฌ ๋ฌธ์ด ์คํ๋ฉ๋๋ค). BEGIN ๊ณผ END ํจํด์ ๋ค๋ฅธ ํจํด๊ณผ ๊ฒฐํฉํ ์ ์์ต๋๋ค.
ํจํด ํํ์ ํจํด. BEGIN ๊ณผ END ํจํด์๋ ๋๋ฝ๋ ์์ ๋ถ๋ถ์ด ์์ ์ ์์ต๋๋ค.
์์ ํ์ผ ๊ณผ ์ต์ข ํ์ผ ๋ณธ๋ฌธ์ด ์ด์ ์ ์คํ๋๋ ์ถ๊ฐ ํน์ ํจํด์ ๋๋ค.
๊ฐ ๋ช ๋ น์ค ์ ๋ ฅ ํ์ผ์ ์ฒซ ๋ฒ์งธ ๋ ์ฝ๋๋ฅผ ์ฝ๊ณ ๋ง์ง๋ง ๋ ์ฝ๋๋ฅผ ์ฝ์ ํ
๊ฐ ํ์ผ์. ๋ด๋ถ ์์ ํ์ผ ๊ท์น, ๊ฐ ์๋ฅด๋ ธ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๋น ๋ฌธ์์ด์ด ๋ฉ๋๋ค.
ํ์ผ์ด ์ฑ๊ณต์ ์ผ๋ก ์ด๋ ธ์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ํ์ผ์ ๋ฌธ์ ๊ฐ ์๊ณ
์ฝ๋๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค ๋ค์ ํ์ผ ๊ฑด๋ ๋ฐ๋ ค๋ฉด. ๊ทธ๊ฒ์ด ์ด๋ฃจ์ด์ง์ง ์๋๋ค๋ฉด, ๋ํ ์ฌ๋ ๊ทธ๊ฒ์ ์ผ๋ฐ์ ์ธ ์น๋ช ์ ์ธ ์์ฐ
์ด ์ ์๋ ํ์ผ์ ๋ํ ์ค๋ฅ์ ๋๋ค.
๋ญ์ ๋ฆฌ /์ ๊ท๋ณ ํํ/ ํจํด, ์ฐ๊ฒฐ๋ ๋ช ๋ น๋ฌธ์ ๊ฐ ์ ๋ ฅ์ ๋ํด ์คํ๋ฉ๋๋ค.
์ ๊ท์๊ณผ ์ผ์นํ๋ ๋ ์ฝ๋์ ๋๋ค. ์ ๊ท ํํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ด๊ทธ๋ (1), ์๋์ ์์ฝ๋์ด ์์ต๋๋ค.
A ๊ด๊ณํ ํํ ์น์ ์์ ์๋์ ์ ์๋ ์ฐ์ฐ์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์. ์ด๋ค์ ์ผ๋ฐ์ ์ผ๋ก ํน์ ํ๋๊ฐ ํน์ ์ ๊ท ํํ์๊ณผ ์ผ์นํ๋์ง ์ฌ๋ถ๋ฅผ ํ ์คํธํฉ๋๋ค.
XNUMXD๋ดํ์ &&, ||๋ฐ ! ์ฐ์ฐ์๋ ๊ฐ๊ฐ ๋ ผ๋ฆฌ AND, ๋ ผ๋ฆฌ OR ๋ฐ ๋ ผ๋ฆฌ NOT์ ๋๋ค.
C์์์ ๊ฐ์ด ๋จ๋ฝ ํ๊ฐ๋ฅผ ์ํํ๊ณ ๋ ๋ง์ ๊ฒ์ ๊ฒฐํฉํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๊ธฐ๋ณธ ํจํด ํํ ๋๋ถ๋ถ์ ์ธ์ด์์์ ๊ฐ์ด ๊ดํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
ํ๊ฐ ์์.
XNUMXD๋ดํ์ ?: ์ฐ์ฐ์๋ C์ ๋์ผํ ์ฐ์ฐ์์ ๊ฐ์ต๋๋ค. ์ฒซ ๋ฒ์งธ ํจํด์ด ์ฐธ์ด๋ฉด
ํ ์คํธ์ ์ฌ์ฉ๋๋ ํจํด์ ๋ ๋ฒ์งธ ํจํด์ด๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ์ธ ๋ฒ์งธ ํจํด์ ๋๋ค. ์ค ํ๋๋ง
๋ ๋ฒ์งธ ๋ฐ ์ธ ๋ฒ์งธ ํจํด์ด ํ๊ฐ๋ฉ๋๋ค.
XNUMXD๋ดํ์ pattern1, pattern2 ์์ ํ์์ a๋ผ๊ณ ํฉ๋๋ค. ๋ฒ์ ๋ฌด๋ฌ. ๋ชจ๋ ์ผ์นํฉ๋๋ค
์ผ์นํ๋ ๋ ์ฝ๋๋ก ์์ํ๋ ์ ๋ ฅ ๋ ์ฝ๋ pattern1, ๊ธฐ๋ก๋ ๋๊น์ง ๊ณ์
์ผ์นํ๋ pattern2, ํฌํจํ. ๋ค๋ฅธ ์ข ๋ฅ์ ํจํด๊ณผ ๊ฒฐํฉํ์ง ์์ต๋๋ค.
ํํ.
์ ๊ท๋ณ ์
์ ๊ท ํํ์์ ์ด๊ทธ๋ . ์บ๋ฆญํฐ๋ค๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค
๋ค์๊ณผ ๊ฐ์ด :
c ๋ฉํ๋ฌธ์๊ฐ ์๋ ๋ฌธ์์ ์ผ์น c.
\c ๋ฆฌํฐ๋ด ๋ฌธ์์ ์ผ์น c.
. ๋ชจ๋ ๋ฌธ์์ ์ผ์น ...์ ํฌํจํ์ฌ ์ค ๋ฐ๊ฟ.
^ ๋ฌธ์์ด์ ์์๊ณผ ์ผ์นํฉ๋๋ค.
$ ๋ฌธ์์ด์ ๋๊ณผ ์ผ์นํฉ๋๋ค.
[์ํ๋ฒณ...] ๋ฌธ์ ๋ชฉ๋ก: ๋ชจ๋ ๋ฌธ์์ ์ผ์น ์ํ๋ฒณ.... ๋ค์์ ํฌํจํ ์ ์์ต๋๋ค.
๋์๋ก ๊ตฌ๋ถํ์ฌ ๋ฌธ์ ๋ฒ์๋ฅผ ์ง์ ํฉ๋๋ค.
[^์ํ๋ฒณ...] ๋ถ์ ๋ฌธ์ ๋ชฉ๋ก: ๋ค์์ ์ ์ธํ ๋ชจ๋ ๋ฌธ์์ ์ผ์นํฉ๋๋ค. ์ํ๋ฒณ....
r1|r2 ๊ต๋: ๋ค์ ์ค ํ๋์ ์ผ์น r1 or r2.
r1r2 ์ฐ๊ฒฐ: ์ผ์น r1ํ๊ณ r2.
r+ ํ๋ ์ด์ ์ผ์น r'์์ค.
r* XNUMX๊ฐ ์ด์ ์ผ์น r'์์ค.
r? XNUMX ๋๋ XNUMX๊ณผ ์ผ์น r'์์ค.
(r) ๊ทธ๋ฃนํ: ๋งค์น r.
r{n}
r{n,}
r{n,m} ์ค๊ดํธ ์์ ํ๋ ๋๋ ๋ ๊ฐ์ ์ซ์๋ ๊ฐ๊ฒฉ ํํ. ์๋ค๋ฉด
์ค๊ดํธ ์์ ์ซ์ ํ๋, ์์ ์ ๊ท์ r ๋ฐ๋ณต๋๋ค n
ํ์์ค. ์ผํ๋ก ๊ตฌ๋ถ๋ ๋ ๊ฐ์ ์ซ์๊ฐ ์๋ ๊ฒฝ์ฐ r ๋ฐ๋ณต๋๋ค n ์ m
ํ์์ค. ํ๋์ ์ซ์ ๋ค์ ์ผํ๊ฐ ์๋ ๊ฒฝ์ฐ r ์ ์ด๋ ๋ฐ๋ณต๋๋ค
n ์๊ฐ.
\y ๋จ์ด์ ์ฒ์์ด๋ ๋์ ์๋ ๋น ๋ฌธ์์ด์ ์ฐพ์ต๋๋ค.
\B ๋จ์ด ๋ด์ ๋น ๋ฌธ์์ด๊ณผ ์ผ์นํฉ๋๋ค.
\< ๋จ์ด์ ์์ ๋ถ๋ถ์ ์๋ ๋น ๋ฌธ์์ด์ ์ฐพ์ต๋๋ค.
\> ๋จ์ด ๋์ ์๋ ๋น ๋ฌธ์์ด์ ์ฐพ์ต๋๋ค.
\s ๋ชจ๋ ๊ณต๋ฐฑ ๋ฌธ์์ ์ผ์นํฉ๋๋ค.
\S ๊ณต๋ฐฑ์ด ์๋ ๋ชจ๋ ๋ฌธ์์ ์ผ์นํฉ๋๋ค.
\w ๋ชจ๋ ๋จ์ด ๊ตฌ์ฑ ๋ฌธ์(๋ฌธ์, ์ซ์ ๋๋ ๋ฐ์ค)์ ์ผ์นํฉ๋๋ค.
\W ๋จ์ด ๊ตฌ์ฑ ์์๊ฐ ์๋ ๋ชจ๋ ๋ฌธ์์ ์ผ์นํฉ๋๋ค.
\` ๋ฒํผ(๋ฌธ์์ด)์ ์์ ๋ถ๋ถ์ ์๋ ๋น ๋ฌธ์์ด๊ณผ ์ผ์นํฉ๋๋ค.
\' ๋ฒํผ ๋์ ์๋ ๋น ๋ฌธ์์ด๊ณผ ์ผ์นํฉ๋๋ค.
๋ฌธ์์ด ์์์์ ์ ํจํ ์ด์ค์ผ์ดํ ์ํ์ค(์ฐธ์กฐ ๋ ์์)๋
์ ๊ท ํํ์์์ ์ ํจํฉ๋๋ค.
์บ๋ฆญํฐ ์์ POSIX ํ์ค์ ๋์ ๋ ๊ธฐ๋ฅ์ ๋๋ค. ๋ฌธ์ ํด๋์ค๋
ํน์ ์์ฑ์ ๊ฐ์ง ๋ฌธ์ ๋ชฉ๋ก์ ์ค๋ช ํ๊ธฐ ์ํ ํน์ ํ๊ธฐ๋ฒ์ด์ง๋ง
์ค์ ๋ฌธ์ ์์ฒด๋ ๊ตญ๊ฐ ๋ฐ/๋๋ ๊ตญ๊ฐ๋ง๋ค ๋ค๋ฅผ ์ ์์ต๋๋ค.
๋ฌธ์ ์งํฉ์ ๋ฌธ์ ์งํฉ์ผ๋ก. ์๋ฅผ ๋ค์ด, ์ํ๋ฒณ์ด ๋ฌด์์ธ์ง์ ๋ํ ๊ฐ๋ ์
๋ฏธ๊ตญ๊ณผ ํ๋์ค์์๋ ์ฑ๊ฒฉ์ด ๋ค๋ฆ ๋๋ค.
๋ฌธ์ ํด๋์ค๋ ์ ๊ท์์์๋ง ์ ํจํฉ๋๋ค. ๋ด๋ถ ๋ฌธ์์ ๊ดํธ
๋ชฉ๋ก. ๋ฌธ์ ํด๋์ค๋ ๋ค์์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. [:, ํด๋์ค๋ฅผ ๋ํ๋ด๋ ํค์๋ ๋ฐ :]. ๊ทธ๋งํผ
POSIX ํ์ค์ ์ํด ์ ์๋ ๋ฌธ์ ํด๋์ค๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
[:์จ๋ฒ:] ์์ซ์ ๋ฌธ์.
[:์ํ:] ์ํ๋ฒณ ๋ฌธ์.
[:๊ณต๋ฐฑ:] ๊ณต๋ฐฑ ๋๋ ํญ ๋ฌธ์.
[:์ปจํธ๋กค:] ์ ์ด ๋ฌธ์.
[:์ซ์:] ์ซ์.
[:๊ทธ๋ํ:] ์ธ์ ๊ฐ๋ฅํ๊ณ ๋ณผ ์ ์๋ ๋ฌธ์์ ๋๋ค. (๊ณต๋ฐฑ์ ์ธ์ํ ์ ์์ง๋ง
๋ณด์ด๋ ๋์ a ๋ ๋ค์ ๋๋ค.)
[:๋ฎ์ถ๋ค:] ์๋ฌธ์ ์๋ฌธ์.
[:์ธ์:] ์ธ์ ๊ฐ๋ฅํ ๋ฌธ์(์ ์ด ๋ฌธ์๊ฐ ์๋ ๋ฌธ์)
[:์ ์ :] ๊ตฌ๋์ ๋ฌธ์(๋ฌธ์, ์ซ์, ์ปจํธ๋กค์ด ์๋ ๋ฌธ์
๋ฌธ์ ๋๋ ๊ณต๋ฐฑ ๋ฌธ์).
[:์ฐ์ฃผ:] ๊ณต๋ฐฑ ๋ฌธ์(๊ณต๋ฐฑ, ํญ, ํผํผ๋ ๋ฑ).
[:๋์:] ๋๋ฌธ์ ์ํ๋ฒณ ๋ฌธ์.
[:x์ซ์:] XNUMX์ง์ ๋ฌธ์์ ๋๋ค.
์๋ฅผ ๋ค์ด POSIX ํ์ค ์ด์ ์๋ ์์ซ์ ๋ฌธ์๋ฅผ ์ผ์น์ํค๋ ค๋ฉด
์จ์ผ ํ๋ค /[A-Za-z0-9]/. ๋ฌธ์ ์งํฉ์ ๋ค๋ฅธ ์ํ๋ฒณ ๋ฌธ์๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ
์ด๊ฒ์ ์ผ์นํ์ง ์์ผ๋ฉฐ ๋ฌธ์ ์งํฉ์ด ASCII์ ๋ค๋ฅด๊ฒ ์กฐํฉ๋ ๊ฒฝ์ฐ ์ด
ASCII ์์ซ์ ๋ฌธ์์๋ ์ผ์นํ์ง ์์ ์ ์์ต๋๋ค. POSIX ๋ฌธ์ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด
๋น์ ์ ์ธ ์ ์์ต๋๋ค /[[:์๋ฒํธ:]]/, ์ด๊ฒ์ ์ํ๋ฒณ ๋ฐ ์ซ์์ ์ผ์นํฉ๋๋ค.
๊ทธ๊ฒ์ด ๋ฌด์์ด๋ ๋น์ ์ ์บ๋ฆญํฐ ์ธํธ.
๋ ๊ฐ์ ์ถ๊ฐ ํน์ ์ํ์ค๊ฐ โโ๋ฌธ์ ๋ชฉ๋ก์ ๋ํ๋ ์ ์์ต๋๋ค. ์ด๋ค์ ๋นASCII์ ์ ์ฉ๋ฉ๋๋ค.
๋จ์ผ ๊ธฐํธ๋ฅผ ๊ฐ์ง ์ ์๋ ๋ฌธ์ ์งํฉ( ๋์กฐ ์์) ๊ทธ๊ฒ์
ํ๋ ์ด์์ ๋ฌธ์๋ก ํ์๋๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ์ฌ๋ฌ ๋ฌธ์๋ก ํ์๋๋
๋๋ฑํ ๋์กฐ, ๋๋ ์ ๋ ฌ, ๋ชฉ์ . (์: ํ๋์ค์ด์์ ์ผ๋ฐ "e" ๋ฐ
์ต์ ์ ์ผํธ "`"๋ ๋์ผํฉ๋๋ค.)
์กฐํฉ ๊ธฐํธ
์กฐํฉ ๊ธฐํธ๋ ๋ก ๋ฌถ์ธ ๋ค์ค ๋ฌธ์ ์กฐํฉ ์์์ ๋๋ค. [. ๊ณผ .].
์๋ฅผ ๋ค์ด, ch ์กฐํฉ ์์์ธ ๊ฒฝ์ฐ [[.ch.]] ์ ๊ท์์ ๋๋ค
์ด ์กฐํฉ ์์์ ์ผ์นํ๋ ๋ฐ๋ฉด [์ฑ๋] ๋ ์ ๊ท ํํ์์ ๋๋ค.
๋ ์ค ํ๋์ ์ผ์น c or h.
๋ฑ๊ฐ ํด๋์ค
๋ฑ๊ฐ ํด๋์ค๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ชฉ๋ก์ ๋ํ ๋ก์บ๋ณ ์ด๋ฆ์ ๋๋ค.
๋๋ฑํ. ์ด๋ฆ์ด ๋๋ด๋์ด ์์ต๋๋ค [= ๊ณผ =]. ์๋ฅผ ๋ค์ด ์ด๋ฆ e ์ ์์ต๋๋ค
"e", "ยด" ๋ฐ "`"๋ฅผ ๋ชจ๋ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ, [[=์ ์=]] ๋จ๊ณจ์ด๋ค
๋ค์ ์ค ํ๋์ ์ผ์นํ๋ ํํ์ e, ์ด์ํ๋ฐ e`.
์ด๋ฌํ ๊ธฐ๋ฅ์ ๋น์์ด๊ถ ๋ก์ผ์ผ์์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ธฐ๋ฅ
๊ทธ ๋ํ ์ฌ๋ ํ์ฌ ์ ๊ท์ ์ผ์น์ ์ฌ์ฉํ์ฌ POSIX ๋ฌธ์๋ง ์ธ์ํฉ๋๋ค.
ํด๋์ค; ์กฐํฉ ๊ธฐํธ ๋๋ ๋ฑ๊ฐ ํด๋์ค๋ฅผ ์ธ์ํ์ง ๋ชปํฉ๋๋ค.
XNUMXD๋ดํ์ \y, \B, \<, \>, \s, \S, \w, \W, \`๋ฐ \' ์ฐ์ฐ์๋ ํน์ ๋ํ ์ฌ๋; ๊ทธ๋ค์
GNU ์ ๊ท์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ธฐ๋ฅ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ํ์ฅ.
๋ค์ํ ๋ช ๋ น์ค ์ต์ ์ ๋ฐฉ๋ฒ์ ์ ์ดํฉ๋๋ค. ๋ํ ์ฌ๋ ๋ฌธ์๋ฅผ ๊ท์น์ ์ผ๋ก ํด์ํฉ๋๋ค.
ํํ.
์ต์ ์์
๊ธฐ๋ณธ ๊ฒฝ์ฐ, ๋ํ ์ฌ๋ POSIX ์ ๊ท ํํ์์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์์์ ์ค๋ช ํ GNU ์ ๊ท ํํ์ ์ฐ์ฐ์.
--ํฌ์์ค
POSIX ์ ๊ท ํํ์๋ง ์ง์๋๋ฉฐ GNU ์ฐ์ฐ์๋ ํน๋ณํ์ง ์์ต๋๋ค.
(์, \w ๋ฆฌํฐ๋ด๊ณผ ์ผ์น w).
--์ ํต์ ์ธ
์ ํต์ ์ธ ์ ๋์ค AWK ์ ๊ท ํํ์์ด ์ผ์นํฉ๋๋ค. GNU ์ฐ์ฐ์๋
ํน์ ๋ฐ ๊ฐ๊ฒฉ ํํ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. XNUMX์ง์๋ก ์ค๋ช ๋๋ ๋ฌธ์
๋ฐ XNUMX์ง์ ์ด์ค์ผ์ดํ ์ํ์ค๋ ๋ค์์ ๋ํ๋ด๋๋ผ๋ ๋ฌธ์ ๊ทธ๋๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
์ ๊ท์ ๋ฉํ๋ฌธ์.
--์ฌ๊ฐ๊ฒฉ
๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ ์ ๊ท ํํ์์์ ๊ฐ๊ฒฉ ํํ์์ ํ์ฉํฉ๋๋ค. --์ ํต์ ์ธ ์๋ค
์ ๊ณต๋ฉ๋๋ค.
ํ์
์กฐ์น๋ฌธ์ ์ค๊ดํธ๋ก ๋ฌถ์ต๋๋ค. { ๊ณผ }. ์กฐ์น๋ฌธ์ ์ผ๋ฐ์ ์ธ
๋๋ถ๋ถ์ ์ธ์ด์์ ๋ฐ๊ฒฌ๋๋ ๋์ ๋ฌธ, ์กฐ๊ฑด๋ฌธ ๋ฐ ๋ฐ๋ณต ๋ฌธ. ์ด์์,
์ ์ด๋ฌธ ๋ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ์ /์ถ๋ ฅ๋ฌธ์ C์ ๋ช ๋ น๋ฌธ์ ๋ฐ๋ผ ํจํดํ๋ฉ๋๋ค.
์ฐ์ฐ์
AWK์ ์ฐ์ฐ์๋ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
(...) ๊ทธ๋ฃนํ
$ ํ๋ ์ฐธ์กฐ.
++ -- ์ฆ๊ฐ ๋ฐ ๊ฐ์, ์ ๋์ฌ ๋ฐ ์ ๋ฏธ์ฌ.
^ ์ง์ํ(** ๋ ์ฌ์ฉ๋ ์ ์์ผ๋ฉฐ, **= ๋์ ์ฐ์ฐ์์ ๊ฒฝ์ฐ).
+ - ! ๋จํญ ๋ํ๊ธฐ, ๋จํญ ๋นผ๊ธฐ ๋ฐ ๋ ผ๋ฆฌ ๋ถ์ .
* / % ๊ณฑ์ , ๋๋์ , ๋ชจ๋๋ฌ์ค.
+ - ๋ํ๊ธฐ์ ๋นผ๊ธฐ.
๊ณต๊ฐ ๋ฌธ์์ด ์ฐ๊ฒฐ.
| |& ๋ค์์ ๋ํ ํ์ดํ I/O Getline, ์ธ์๋ฐ printf.
< > <= >= != ==
์ ๊ท ๊ด๊ณ ์ฐ์ฐ์.
~ !~ ์ ๊ท ํํ์ ์ผ์น, ๋ถ์ ์ผ์น. ์ฃผ์์ฌํญ: ์ผ์ ํ ๊ท์น์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค.
ํํ (/ํธ/) ์ผ์ชฝ์ ~ or !~. ์ ํ๋๋ง ์ฌ์ฉํ์ญ์์ค.
์ค๋ฅธํธ. ํํ์ /ํธ/ ~ ํน๊ธ ์ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ๋๋ค (($0 ~
/ํธ/) ~ ํน๊ธ). ์ด๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก ์ง์ ๋น์ ์ด ์ํ๋.
in ๋ฐฐ์ด ๊ตฌ์ฑ์.
&& ๋ ผ๋ฆฌ์ AND.
|| ๋ ผ๋ฆฌ์ OR.
?: C ์กฐ๊ฑด์. ์ด๊ฒ์ ๋ค์๊ณผ ๊ฐ์ ํํ๋ฅผ ๊ฐ์ง๋๋ค. expr1 ? expr2 : expr3. ๋ฉด
expr1 ๊ฐ true์ธ ๊ฒฝ์ฐ ํํ์์ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. expr2๊ทธ๋ ์ง ์์ผ๋ฉด expr3.
์ค ํ๋๋ง expr2 ๊ณผ expr3 ํ๊ฐ๋ฉ๋๋ค.
= += -= *= /= %= ^=
๊ณผ์ . ๋ ๋ค ์ ๋ ํ ๋น (์๋ค = ๊ฐ์น) ๋ฐ ์ด์์ ํ ๋น
(๋ค๋ฅธ ํ์)์ด ์ง์๋ฉ๋๋ค.
Control ๋ช ์ธ์
์ ์ด๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
if (์กฐ๊ฑด) ์ฑ๋ช ์ [ ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฑ๋ช ์ ]
๋์ (์กฐ๊ฑด) ์ฑ๋ช ์
do ์ฑ๋ช ์ ๋์ (์กฐ๊ฑด)
for (expr1; expr2; expr3) ์ฑ๋ช ์
for (์๋ค in ์ ๋ ฌ) ์ฑ๋ช ์
ํ๋ค
๊ณ์
์ญ์ ์ ๋ ฌ[์์ธ]
์ญ์ ์ ๋ ฌ
์ถ๊ตฌ [ ํํ ]
{ ๋ฌธ }
์ค์์น (ํํ) {
์ผ์ด์ค ๊ฐ์น|์ ๊ท์ : ์ฑ๋ช ์
...
[ ๊ธฐ๋ณธ๊ฐ : ์ฑ๋ช ์ ]
}
I / O ๋ช ์ธ์
์ ๋ ฅ/์ถ๋ ฅ ๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ซ๋ค(ํ์ผ [, ๋ฐฉ๋ฒ]) ํ์ผ, ํ์ดํ ๋๋ ๊ณต๋ ํ๋ก์ธ์ค๋ฅผ ๋ซ์ต๋๋ค. ์ต์ ๋ฐฉ๋ฒ ์ด์ด์ผํฉ๋๋ค
๊ณต๋ ํ๋ก์ธ์ค์ ๋ํ ์๋ฐฉํฅ ํ์ดํ์ ํ์ชฝ ๋์ ๋ซ์ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๊ฒ
๋ฌธ์์ด ๊ฐ์ด์ด์ผ ํฉ๋๋ค. "์" or "์์".
Getline ์ธํธ $0 ๋ค์ ์ ๋ ฅ ๋ ์ฝ๋์์; ์ธํธ NF, NR, FNR, RT.
Getline <ํ์ผ ์ธํธ $0 ๋ค์ ๊ธฐ๋ก๋ถํฐ ํ์ผ; ์ธํธ NF, RT.
Getline ์๋ค ์ธํธ ์๋ค ๋ค์ ์ ๋ ฅ ๋ ์ฝ๋์์; ์ธํธ NR, FNR, RT.
Getline ์๋ค <ํ์ผ ์ธํธ ์๋ค ๋ค์ ๊ธฐ๋ก๋ถํฐ ํ์ผ, RT.
๋ช ๋ น | Getline [์๋ค]
๋ฌ๋ฆฌ๊ธฐ ๋ช ๋ น ์ถ๋ ฅ์ ํ์ดํํ๊ฑฐ๋ $0 or ์๋ค, ์์ ๊ฐ์ด
RT.
๋ช ๋ น |& Getline [์๋ค]
๋ฌ๋ฆฌ๊ธฐ ๋ช ๋ น ์ถ๋ ฅ์ ๊ณต๋ ํ๋ก์ธ์ค ํ์ดํ์ผ๋ก $0 or ์๋ค,
์์ ๊ฐ์ด RT. ๊ณต๋ ํ๋ก์ธ์ค๋ ๋ํ ์ฌ๋ ํ๋. (๋ช ๋ น
์์ผ๋ ๋ฉ๋๋ค. ํ์ ์น์ ์ฐธ์กฐ ์ด๋ฌ์ ์คํ์ ์ ์ ๋ถ๋ชจ๋ก์์ ๊ทํ์ ์ ํฉ์ฑ์ ๊ฒฐ์ ํ๊ธฐ ์ํด ๋ฏธ๊ตญ ์ด๋ฏผ๊ตญ์ ์ด๋ฆ, ์๋์.)
๋ค์ ๊ฒ ํ์ฌ ์ ๋ ฅ ๋ ์ฝ๋ ์ฒ๋ฆฌ๋ฅผ ์ค์งํฉ๋๋ค. ๋ค์ ์ ๋ ฅ ๋ ์ฝ๋๋
์ฝ๊ธฐ ๋ฐ ์ฒ๋ฆฌ๋ AWK์ ์ฒซ ๋ฒ์งธ ํจํด์ผ๋ก ๋ค์ ์์๋ฉ๋๋ค.
ํ๋ก๊ทธ๋จ. ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋์ ๋๋ฌํ๋ฉด, ๋ํ ์ฌ๋ ์๋ฌด๊ฑฐ๋ ์คํ
END ๊ท์น(๋ค).
๋ค์ ํ์ผ ํ์ฌ ์ ๋ ฅ ํ์ผ ์ฒ๋ฆฌ๋ฅผ ์ค์งํฉ๋๋ค. ๋ค์ ์ ๋ ฅ ๋ ์ฝ๋ ์ฝ๊ธฐ
๋ค์ ์ ๋ ฅ ํ์ผ์์ ์ต๋๋ค. ํ์ผ ์ด๋ฆ ๊ณผ ์๋ฅด์ง๋ ์ ๋ฐ์ดํธ๋๊ณ ,
FNR 1๋ก ์ฌ์ค์ ๋๊ณ ์ฒซ ๋ฒ์งธ ํจํด๋ถํฐ ์ฒ๋ฆฌ๊ฐ ๋ค์ ์์๋ฉ๋๋ค.
AWK ํ๋ก๊ทธ๋จ์์. ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋์ ๋๋ฌํ๋ฉด, ๋ํ ์ฌ๋
์๋ฌด๊ฑฐ๋ ์คํ END ๊ท์น(๋ค).
์ธ์ ํ์ฌ ๋ ์ฝ๋๋ฅผ ์ธ์ํฉ๋๋ค. ์ถ๋ ฅ ๋ ์ฝ๋๋ ๋ค์์ผ๋ก ์ข ๋ฃ๋ฉ๋๋ค.
์ ๊ฐ์น ORS.
์ธ์ expr ๋ชฉ๋ก ํํ์์ ์ธ์ํฉ๋๋ค. ๊ฐ ํํ์์ ๋ค์ ๊ฐ์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
FSO. ์ถ๋ ฅ ๋ ์ฝ๋๋ ๋ค์ ๊ฐ์ผ๋ก ์ข ๋ฃ๋ฉ๋๋ค. ORS.
์ธ์ expr ๋ชฉ๋ก >ํ์ผ ํํ์ ์ธ์ ํ์ผ. ๊ฐ ํํ์์
์ ๊ฐ์น FSO. ์ถ๋ ฅ ๋ ์ฝ๋๋ ๋ค์ ๊ฐ์ผ๋ก ์ข ๋ฃ๋ฉ๋๋ค.
ORS.
printf ํ๋ก ํธ, expr ๋ชฉ๋ก ํ์์ ์ง์ ํ๊ณ ์ธ์ํ์ญ์์ค. ๋ณด๋ค XNUMXD๋ดํ์ printf ์ฑ๋ช ์์๋.
printf ํ๋ก ํธ, expr ๋ชฉ๋ก >ํ์ผ
์์ ๋ฐ ์ธ์ ํ์ผ.
์ฒด๊ณ(๋ช ๋ น์ค) ๋ช ๋ น์ ์คํํ์ญ์์ค. ๋ช ๋ น์ค, ์ข ๋ฃ ์ํ๋ฅผ ๋ฐํํฉ๋๋ค. (์ด๊ฑด ์๋ง
๋น POSIX ์์คํ ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.)
ํ๋ฌ์([ํ์ผ]) ์ด๋ ค ์๋ ์ถ๋ ฅ ํ์ผ ๋๋ ํ์ดํ์ ๊ด๋ จ๋ ๋ชจ๋ ๋ฒํผ๋ฅผ ํ๋ฌ์ํฉ๋๋ค. ํ์ผ.
If ํ์ผ ๋๋ฝ๋์๊ฑฐ๋ null ๋ฌธ์์ด์ธ ๊ฒฝ์ฐ ์ด๋ ค ์๋ ๋ชจ๋ ํญ๋ชฉ์ ํ๋ฌ์ํฉ๋๋ค.
์ถ๋ ฅ ํ์ผ ๋ฐ ํ์ดํ.
๋ค์์ ๋ํด ์ถ๊ฐ ์ถ๋ ฅ ๋ฆฌ๋๋ ์ ์ด ํ์ฉ๋ฉ๋๋ค. ์ธ์ ๊ณผ printf.
์ธ์ ... >> ํ์ผ
์ ์ถ๋ ฅ์ ์ถ๊ฐํฉ๋๋ค. ํ์ผ.
์ธ์ ... | ๋ช ๋ น
ํ์ดํ์ ์๋๋ค.
์ธ์ ... |& ๋ช ๋ น
๋ฐ์ดํฐ๋ฅผ ๊ณต๋ ํ๋ก์ธ์ค ๋๋ ์์ผ์ผ๋ก ๋ณด๋ ๋๋ค. (๋ํ ํ์ ์น์ ์ฐธ์กฐ ์ด๋ฌ์ ์คํ์ ์ ์ ๋ถ๋ชจ๋ก์์ ๊ทํ์ ์ ํฉ์ฑ์ ๊ฒฐ์ ํ๊ธฐ ์ํด ๋ฏธ๊ตญ ์ด๋ฏผ๊ตญ์ ์ด๋ฆ,
์ดํ.)
XNUMXD๋ดํ์ Getline ๋ช ๋ น์ ์ฑ๊ณต ์ 1, ํ์ผ ๋ ์ 0, ์ค๋ฅ ์ -1์ ๋ฐํํฉ๋๋ค. ์
์ค๋ฅ, ์๋ฅด๋ ธ ๋ฌธ์ ๋ฅผ ์ค๋ช ํ๋ ๋ฌธ์์ด๋ก ์ค์ ๋ฉ๋๋ค.
์ฃผ์์ฌํญ: ์๋ฐฉํฅ ์์ผ์ ์ฌ๋ ๋ฐ ์คํจํ๋ฉด ์น๋ช ์ ์ด์ง ์์ ์ค๋ฅ๊ฐ ๋ฐํ๋ฉ๋๋ค.
ํธ์ถ ๊ธฐ๋ฅ. ํ์ดํ, ๊ณต๋ ํ๋ก์ธ์ค ๋๋ ์์ผ์ ์ฌ์ฉํ์ฌ Getline๋๋์์ ์ธ์ or
printf ๋ฃจํ ๋ด์์ ์ ๋๋ก ํ์ํ ๊ฒ ์ฌ์ฉ ๋ซ๊ธฐ() ๋ช ๋ น์ ์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ฑฐ๋
์์ผ. AWK๋ ํ์ดํ, ์์ผ ๋๋ ๊ณต๋ ํ๋ก์ธ์ค๊ฐ ๋ฐํ๋ ๋ ์๋์ผ๋ก ๋ซ์ง ์์ต๋๋ค.
EOF.
XNUMXD๋ดํ์ printf ์ฑ๋ช ์
AWK ๋ฒ์ ์ printf ์ง์ ๋ฐ sprintf () ๊ธฐ๋ฅ(์๋ ์ฐธ์กฐ) ์๋ฝ
๋ค์ ๋ณํ ์ฌ์ ํ์:
%c ๋จ์ผ ๋ฌธ์์ ๋๋ค. ์ ์ฌ์ฉ๋ ์ธ์์ธ ๊ฒฝ์ฐ %c ์ซ์์ธ ๊ฒฝ์ฐ ๋ค์์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
๋ฌธ์ ๋ฐ ์ธ์. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ธ์๋ ๋ฌธ์์ด๋ก ๊ฐ์ฃผ๋๋ฉฐ
ํด๋น ๋ฌธ์์ด์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ง ์ธ์๋ฉ๋๋ค.
%d, %i ์ญ์ง์(์ ์ ๋ถ๋ถ).
%e, %E ํ์์ ๋ถ๋ ์์์ ์ซ์ [-]d.dddddde[+-]dd. ๊ทธ๋งํผ %E ํ์ ์ฌ์ฉ E
๋์ e.
%f, %F ํ์์ ๋ถ๋ ์์์ ์ซ์ [-]DDD.dddddd. ์์คํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ง์ํ๋ ๊ฒฝ์ฐ
๊ทธ๊ฒ, %F ๋ํ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ๋ง์น %f, ๊ทธ๋ฌ๋ ํน๋ณํ ๊ฒฝ์ฐ ๋๋ฌธ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
"์ซ์๊ฐ ์๋" ๋ฐ "๋ฌดํ๋" ๊ฐ. ๋ง์ฝ์ %F ์ฌ์ฉํ ์ ์์ต๋๋ค, ๋ํ ์ฌ๋ ์ฌ์ฉ %f.
%g, %G %e or %f ์ค์ํ์ง ์์ XNUMX์ด ํฌํจ๋ ๋ณํ(๋ ์ค ๋ ์งง์ ๊ฒ)
์ต์ . NS %G ํ์ ์ฌ์ฉ %E ๋์ %e.
%o ๋ถํธ ์๋ XNUMX์ง์(๋ํ ์ ์).
%u ๋ถํธ ์๋ XNUMX์ง์(์ญ์ ์ ์).
%s ๋ฌธ์์ด์ ๋๋ค.
%x, %X ๋ถํธ ์๋ XNUMX์ง์(์ ์)์ ๋๋ค. ๊ทธ๋งํผ %X ํ์ ์ฌ์ฉ ABCDEF ๋์
abcdef.
%% ํ๋์ % ์ฑ๊ฒฉ; ์ธ์๊ฐ ๋ณํ๋์ง ์์ต๋๋ค.
์ ํ์ , ์ถ๊ฐ ๋งค๊ฐ๋ณ์๋ % ๋ฐ ์ ์ด ๋ฌธ์:
๊ณ์ฐ$ ์ฌ์ฉ ๊ณ์ฐํฌ๋งคํ ์ ์ด ์์ ์์ '๋ฒ์งธ ์ธ์. ์ด๊ฒ์
์์น ์ง์ ์ ์ฃผ๋ก ๋ฒ์ญ๋ ๋ฒ์ ์์ ์ฌ์ฉํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
AWK ํ๋ก๊ทธ๋จ์ ์๋ณธ ํ ์คํธ๊ฐ ์๋ ํ์ ๋ฌธ์์ด์ ๋๋ค. ์ด๊ฒ์ ๋ํ ์ฌ๋
ํ๋.
- ํํ์์ ํด๋น ํ๋ ๋ด์์ ์ผ์ชฝ ์ ๋ ฌ๋์ด์ผ ํฉ๋๋ค.
๊ณต๊ฐ ์ซ์ ๋ณํ์ ๊ฒฝ์ฐ ์์ ๊ฐ์๋ ๊ณต๋ฐฑ์, ์์ ๊ฐ์๋ ์ ๋์ฌ๋ฅผ ๋ถ์ ๋๋ค.
๋ง์ด๋์ค ๊ธฐํธ๊ฐ ์์ต๋๋ค.
+ ๋๋น ์์ ์ ์์ ์ฌ์ฉ๋๋ ๋ํ๊ธฐ ๊ธฐํธ(์๋ ์ฐธ์กฐ)๋ ํญ์
ํ์ํํ ๋ฐ์ดํฐ๊ฐ ์์์ธ ๊ฒฝ์ฐ์๋ ์ซ์ ๋ณํ์ ์ํ ๋ถํธ์ ๋๋ค. ๊ทธ๋งํผ +
๊ณต๊ฐ ์์ ์๋ฅผ ์ฌ์ ์ํฉ๋๋ค.
# ํน์ ์ ์ด ๋ฌธ์์ ๋ํด "๋์ฒด ํ์"์ ์ฌ์ฉํ์ญ์์ค. ์ ์ํ %o, ์ ๋ ๊ณต๊ธ
์. ์ ์ํ %x๋ฐ %X, ์ ๋ ๊ณต๊ธ 0x or 0X XNUMX์ด ์๋ ๊ฒฐ๊ณผ๋ฅผ ์ํด. ์ ์ํ %e, %E,
%f ๊ณผ %F, ๊ฒฐ๊ณผ์๋ ํญ์ ์์์ ์ด ํฌํจ๋ฉ๋๋ค. ์ ์ํ %g๋ฐ %G, ํํ
XNUMX์ ๊ฒฐ๊ณผ์์ ์ ๊ฑฐ๋์ง ์์ต๋๋ค.
0 ์ต๊ณ ์ 0 (์)์ ํ๋๊ทธ ์ญํ ์ ํ๋ฉฐ ์ถ๋ ฅ์ ๋ค์์ผ๋ก ์ฑ์์ผ ํจ์ ๋ํ๋ ๋๋ค.
๊ณต๋ฐฑ ๋์ XNUMX. ์ด๋ ์ซ์ ์ถ๋ ฅ ํ์์๋ง ์ ์ฉ๋ฉ๋๋ค. ์ด๊ฒ
ํ๋๊ทธ๋ ํ๋ ๋๋น๊ฐ ์ธ์ํ ๊ฐ๋ณด๋ค ๋์ ๊ฒฝ์ฐ์๋ง ํจ๊ณผ๊ฐ ์์ต๋๋ค.
' ์์๋ฐ์ดํ ๋ฌธ์๊ฐ ์ง์ํฉ๋๋ค. ๋ํ ์ฌ๋ ๋ก์ผ์ผ์ ์ฒ ๋จ์ ๊ตฌ๋ถ ๊ธฐํธ๋ฅผ ์ฝ์ ํ๋ ค๋ฉด
๋ฌธ์๋ฅผ ์ญ์ง์๋ก ๋ณํํ๊ณ ๋ก์ผ์ผ์ ์์์ ๋ ์ฌ์ฉํฉ๋๋ค.
๋ถ๋ ์์์ ํ์์ ๋ฌธ์. ์ด๋ฅผ ์ํด์๋ ์ฌ๋ฐ๋ฅธ ๋ก์ผ์ผ ์ง์์ด ํ์ํฉ๋๋ค.
C ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ํ์ฌ ๋ก์ผ์ผ์ ์ ์์ ์์ต๋๋ค.
ํญ ํ๋๋ ์ด ๋๋น๋ก ํจ๋ฉ๋์ด์ผ ํฉ๋๋ค. ํ๋๋ ์ผ๋ฐ์ ์ผ๋ก
๊ณต๋ฐฑ. ์ ๋๋ถ์ด 0 ํ๋๊ทธ๋ XNUMX์ผ๋ก ์ฑ์์ง๋๋ค.
.์ฌ์ ์ธ์ํ ๋ ์ฌ์ฉํ ์ ๋ฐ๋๋ฅผ ์ง์ ํ๋ ์ซ์์ ๋๋ค. ์ ์ํด %e, %E, %f ๊ณผ
%F, ํ์, ์ค๋ฅธ์ชฝ์ ์ธ์ํ๋ ค๋ ์๋ฆฟ์๋ฅผ ์ง์ ํฉ๋๋ค.
์์์ . ์ ์ํด %g๋ฐ %G ํ์์ ์ต๋ ์๋ฅผ ์ง์ ํฉ๋๋ค.
์ ํจ ์ซ์. ์ ์ํด %d, %i, %o, %u, %x๋ฐ %X ํ์์ ์ง์ ํฉ๋๋ค.
์ธ์ํ ์ต์ ์๋ฆฟ์์ ๋๋ค. ์ ์ํ %s, ์ต๋ ์๋ฅผ ์ง์ ํฉ๋๋ค.
์ธ์ํด์ผ ํ๋ ๋ฌธ์์ด์ ๋ฌธ์.
๋์ ์ธ ํญ ๊ณผ ์ฌ์ ISO C์ ๊ธฐ๋ฅ printf () ๋ฃจํด์ด ์ง์๋ฉ๋๋ค. ใ *
๋์ ์ ํญ or ์ฌ์ ์ฌ์์ ํด๋น ๊ฐ์
์ธ์ ๋ชฉ๋ก printf or sprintf (). ๋ค์ด๋๋ฏน๊ณผ ํจ๊ป ์์น ์ง์ ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด
๋๋น ๋๋ ์ ๋ฐ๋, ์ ๊ณต ๊ณ์ฐ$ ํ * ํ์ ๋ฌธ์์ด์์. ์๋ฅผ ๋ค์ด,
"%3$*2$.*1$s".
์ด๋ฌ์ ์คํ์ ์ ์ ๋ถ๋ชจ๋ก์์ ๊ทํ์ ์ ํฉ์ฑ์ ๊ฒฐ์ ํ๊ธฐ ์ํด ๋ฏธ๊ตญ ์ด๋ฏผ๊ตญ์ ์ด๋ฆ
๋ ์ค ํ๋์์ I/O ๋ฆฌ๋๋ ์ ์ ์ํํ ๋ ์ธ์ or printf ํ์ผ๋ก ๋๋ Getline ์์
ํ์ผ ๋ํ ์ฌ๋ ํน์ ํน์ ํ์ผ ์ด๋ฆ์ ๋ด๋ถ์ ์ผ๋ก ์ธ์ํฉ๋๋ค. ์ด ํ์ผ ์ด๋ฆ์ ์ก์ธ์ค๋ฅผ ํ์ฉํฉ๋๋ค.
์์ ์์๋ ํ์ผ ๋์คํฌ๋ฆฝํฐ ์ด๊ธฐ ๋ํ ์ฌ๋์ ๋ถ๋ชจ ํ๋ก์ธ์ค(์ผ๋ฐ์ ์ผ๋ก ์ ธ). ์ด๊ฒ๋ค
ํ์ผ ์ด๋ฆ์ ๋ช ๋ น์ค์์ ๋ฐ์ดํฐ ํ์ผ์ ์ด๋ฆ์ ์ง์ ํ๋ ๋ฐ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ํ์ผ ์ด๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํ์ค ์ ๋ ฅ.
/dev/ํ์ค์ ๋ ฅ ํ์ค ์ ๋ ฅ.
/dev/stdout ํ์ค ์ถ๋ ฅ.
/dev/stderr ํ์ค ์ค๋ฅ ์ถ๋ ฅ.
/๊ฐ๋ฐ/fd/n ์ด๋ฆฐ ํ์ผ ๊ธฐ์ ์์ ๊ด๋ จ๋ ํ์ผ n.
์ด๋ ํนํ ์ค๋ฅ ๋ฉ์์ง์ ์ ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด:
์ธ์ "๋น์ ๋ถ์๋ค ๊ทธ๊ฒ!" > "/dev/stderr"
๊ทธ๋ ์ง ์์ผ๋ฉด ์ฌ์ฉํด์ผ ํ ๋ฐ๋ฉด
์ธ์ "๋น์ ๋ถ์๋ค ๊ทธ๊ฒ!" | "๊ณ ์์ด 1>&2"
๋ค์๊ณผ ๊ฐ์ ํน์ ํ์ผ ์ด๋ฆ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. |& ์์ฑ์ ์ํ ๊ณต๋ ์ฒ๋ฆฌ ์ฐ์ฐ์
TCP/IP ๋คํธ์ํฌ ์ฐ๊ฒฐ:
/inet/tcp/ํฌํธ/์์ฃผ/๋ณด๊ณ
/inet4/tcp/ํฌํธ/์์ฃผ/๋ณด๊ณ
/inet6/tcp/ํฌํธ/์์ฃผ/๋ณด๊ณ
๋ก์ปฌ ํฌํธ์์ TCP/IP ์ฐ๊ฒฐ์ ์ํ ํ์ผ ํฌํธ ์๊ฒฉ ํธ์คํธ๋ก ์์ฃผ ์๊ฒฉ์ผ๋ก
ํฌํธ ๋ณด๊ณ . ํฌํธ ์ฌ์ฉ 0 ์์คํ ์ด ํฌํธ๋ฅผ ์ ํํ๋๋ก ํฉ๋๋ค. ์ฌ์ฉ /inet4 ๊ฐ์ ๋ก
IPv4 ์ฐ๊ฒฐ ๋ฐ /inet6 IPv6 ์ฐ๊ฒฐ์ ๊ฐ์ ํฉ๋๋ค. ์์งํ /inet ๋ฅผ ์ฌ์ฉํ์ฌ
์์คํ ๊ธฐ๋ณธ๊ฐ(๋๋ถ๋ถ IPv4).
/inet/udp/ํฌํธ/์์ฃผ/๋ณด๊ณ
/inet4/udp/ํฌํธ/์์ฃผ/๋ณด๊ณ
/inet6/udp/ํฌํธ/์์ฃผ/๋ณด๊ณ
์ ์ฌํ์ง๋ง TCP/IP ๋์ UDP/IP๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ซ์ ๊ธฐ๋ฅ
AWK์๋ ๋ค์๊ณผ ๊ฐ์ ๋ด์ฅ ์ฐ์ ํจ์๊ฐ ์์ต๋๋ค.
์ํ2(y, x) ์ํฌํ์ ํธ ๋ฐํ y / x ๋ผ๋์์ผ๋ก.
์ฝ์ฌ์ธ(ํน๊ธ) ๋ค์์ ์ฝ์ฌ์ธ์ ๋ฐํํฉ๋๋ค. ํน๊ธ๋ผ๋์ ๋จ์์ ๋๋ค.
exp (ํน๊ธ) ์ง์ํจ์.
int (ํน๊ธ) ์ ์๋ก ์๋ฆ ๋๋ค.
ํต๋๋ฌด(ํน๊ธ) ์์ฐ ๋ก๊ทธ ํจ์.
๋๋() ๋์ ๋ฐํ N, 0๊ณผ 1 ์ฌ์ด, 0 โค N <1.
์ฃ(ํน๊ธ) ๋ค์์ ์ฌ์ธ์ ๋ฐํํฉ๋๋ค. ํน๊ธ๋ผ๋์ ๋จ์์ ๋๋ค.
์ ๊ณฑ๋ฏธํฐ(ํน๊ธ) ๋ค์์ ์ ๊ณฑ๊ทผ์ ๋ฐํํฉ๋๋ค. ํน๊ธ.
sand([ํน๊ธ]) ํน๊ธ ๋์ ์์ฑ๊ธฐ์ ์ ์๋๋ก. ์๋์ค์ธ ๊ฒฝ์ฐ ํน๊ธ is
์ ๊ณต๋ ์๊ฐ์ ์ฌ์ฉํ์ญ์์ค. ๋ฌด์์์ ๋ํ ์ด์ ์๋๋ฅผ ๋ฐํํฉ๋๋ค.
์ซ์ ์์ฑ๊ธฐ.
๋ ๊ธฐ๋ฅ
๋ํ ์ฌ๋ ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ด์ฅ ๋ฌธ์์ด ํจ์๊ฐ ์์ต๋๋ค.
๋ค์ํ(s [, d [, ๋ฐฉ๋ฒ] ]) ์์ค ๋ฐฐ์ด์ ์์ ์๋ฅผ ๋ฐํํฉ๋๋ค. s. ์ ๋ ฌ
๋ด์ฉ s ์ฌ์ฉ ๋ํ ์ฌ๋๊ฐ์ ๋น๊ตํ๊ธฐ ์ํ ์ ์ผ๋ฐ์ ์ธ ๊ท์น
์ ๋ ฌ๋ ๊ฐ์ ์ธ๋ฑ์ค ๊ต์ฒด s ์์ฐจ์ ์ผ๋ก
1๋ก ์์ํ๋ ์ ์. ์ ํ์ ๋์ ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ d is
์ง์ ๋จ, ์ฒซ ๋ฒ์งธ ์ค๋ณต s ์ผ๋ก d, ๊ทธ๋ฐ ๋ค์ ์ ๋ ฌ d์ ๋ ๋
์์ค ๋ฐฐ์ด์ ์ธ๋ฑ์ค s ๋ณํ์ง ์์. ์ ํ์ ๋ฌธ์์ด ๋ฐฉ๋ฒ
๋ฐฉํฅ๊ณผ ๋น๊ต ๋ชจ๋๋ฅผ ์ ์ดํฉ๋๋ค. ์ ํจํ ๊ฐ
๋ฐฉ๋ฒ ์ ํจํ ๋ฌธ์์ด ์ค ํ๋์ ๋๋ค. PROCINFO["์ ๋ ฌ๋_์ธ"]. ๊ทธ๊ฒ
๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉ์ ์ ์ ๋น๊ต ํจ์์ ์ด๋ฆ์ด ๋ ์๋ ์์ต๋๋ค.
์ ์ค๋ช PROCINFO["์ ๋ ฌ๋_์ธ"].
๋ค์ํ(s [, d [, ๋ฐฉ๋ฒ] ])
์์ค ๋ฐฐ์ด์ ์์ ์๋ฅผ ๋ฐํํฉ๋๋ค. s. ๊ทธ ํ๋
์ ๊ทธ๊ฒ๊ณผ ๊ฐ๋ค asort (), ๋ฐฐ์ด์ ์ ์ธํ๊ณ ์์ธ are
๋ฐฐ์ด ๊ฐ์ด ์๋ ์ ๋ ฌ์ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฃ๋๋ฉด ๋ฐฐ์ด์
์ซ์๋ก ์ธ๋ฑ์ฑ๋๋ฉฐ ๊ฐ์ ์๋ณธ์ ๊ฐ์ ๋๋ค.
์ง์. ์๋ ๊ฐ์ด ์์ค๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ ๋ฒ์งธ ์ ๊ณต
์๋ณธ์ ๋ณด์กดํ๋ ค๋ฉด ๋ฐฐ์ด์ ์ฌ์ฉํ์ญ์์ค. ๋ชฉ์
์ ํ์ ๋ฌธ์์ด ๋ฐฉ๋ฒ ์์ ์ค๋ช ํ ๊ฒ๊ณผ ๋์ผํฉ๋๋ค. asort () ์.
์ ์ญ(r, s, h [, t]) ๋์ ๋ฌธ์์ด ๊ฒ์ t ์ ๊ท์ ์ผ์น
r. ๋ฉด h ๋ก ์์ํ๋ ๋ฌธ์์ด์ ๋๋ค. g or G, ๊ทธ๋ฐ ๋ค์ ๋ชจ๋ ๊ต์ฒด
์ผ์นํ๋ r ๊ณผ s. ๊ทธ๋ ์ง ์์ผ๋ฉด, h ๋ํ๋ด๋ ์ซ์์ ๋๋ค.
์ ์ผ์น r ๊ต์ฒด. ๋ง์ฝ์ t ์ ๊ณต๋์ง ์์, ์ฌ์ฉ $0 ๋์ .
๋์ฒด ํ ์คํธ ๋ด s, ์ํ์ค \n์ด๋๋ก n ์ซ์์ ๋๋ค
1์์ 9๊น์ง, ์ผ์นํ๋ ํ ์คํธ๋ง ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ ์, n'๋ฒ์งธ ๊ดํธ๋ก ๋ฌถ์ธ ํ์ ํํ์์ ๋๋ค. ์์ \0 ๋ํ
๋ฌธ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ผ์นํ๋ ์ ์ฒด ํ ์คํธ &. ๊ฐ์ง ์์ ๋ณด๊ฒฐ()
๊ณผ gsub(), ์์ ๋ ๋ฌธ์์ด์
ํจ์์ด๊ณ ์๋ ๋์ ๋ฌธ์์ด์ ์ง์ ๋ฐ๊พธ์์ต๋๋ค.
gsub(r, s [, t]) ์ ๊ท ํํ์๊ณผ ์ผ์นํ๋ ๊ฐ ํ์ ๋ฌธ์์ด์ ๋ํด r ๋ฌธ์์ด์์
t, ๋ฌธ์์ด ๋์ฒด s, ๋ฐ ์๋ฅผ ๋ฐํ
๋์ฒด. ๋ง์ฝ์ t ์ ๊ณต๋์ง ์์, ์ฌ์ฉ $0. & FBI ์ฆ์ค ๋ฒ์ฃ ๋ณด๊ณ ์
๋์ฒด ํ ์คํธ๋ ์ค์ ๋ก ์์๋ ํ ์คํธ๋ก ๋์ฒด๋ฉ๋๋ค.
์ผ์น. ์ฌ์ฉ \& ๋ฆฌํฐ๋ด์ ์ป์ผ๋ ค๋ฉด &. (๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํด์ผ ํฉ๋๋ค.
"\\&"; ๋ง๋๋ค ๋ํ ์ฌ๋: ์ ํจํ AWK ํ๋ก๊ทธ๋จ ์์ฑ ๋ณด๋ค ์์ ํ ํ ๋ก ์ ์ํด
์ ๋ํ ๊ท์น &๋์ฒด ํ ์คํธ์ ์ ๋ฐฑ์ฌ๋์
๋ณด๊ฒฐ(), gsub()๋ฐ ์ ์ญ().)
์ธ๋ฑ์ค(s, t) ๋ฌธ์์ด์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํ t ๋ฌธ์์ด์์ s๋๋ 0์ธ ๊ฒฝ์ฐ t ํ์ง ์์ต๋๋ค
ํ์ฌ์. (์ด๋ ๋ฌธ์ ์ธ๋ฑ์ค๊ฐ XNUMX๋ถํฐ ์์ํจ์ ์๋ฏธํฉ๋๋ค.)
์ ๊ท ํํ์ ์์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์น๋ช ์ ์ธ ์ค๋ฅ์ ๋๋ค. t.
๊ธธ์ด([s]) ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๋ฐํ s๋๋ ๊ธธ์ด $0 if s ํ์ง ์์ต๋๋ค
๊ณต๊ธ. ๋นํ์ค ํ์ฅ์ผ๋ก ๋ฐฐ์ด ์ธ์๋ฅผ ์ฌ์ฉํ์ฌ
๊ธธ์ด() ๋ฐฐ์ด์ ์์ ์๋ฅผ ๋ฐํํฉ๋๋ค.
์ฑ๋ฅ(s, r [, a]) ์์น๋ฅผ ๋ฐํ s ์ฌ๊ธฐ์ ์ ๊ท์์ r ๋ฐ์ํ๊ฑฐ๋
0์ด๋ฉด r ์กด์ฌํ์ง ์์ผ๋ฉฐ ๊ฐ์ ์ค์ ํฉ๋๋ค. ์์ ๊ณผ ๊ธธ์ด.
์ธ์ ์์๋ ~ ์ด์์:
ํ์ ๋ฒ์ ~ re. ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ a ์ ๊ณต๋ฉ๋๋ค a ์ง์์ง ๋ค์ ์์
1๋ถํฐ n ์ ๋ถ๋ถ์ผ๋ก ์ฑ์์ ธ ์์ต๋๋ค. s ์ผ์นํ๋
์์ ํด๋นํ๋ ๊ดํธ๋ก ๋ฌถ์ธ ํ์ ํํ์ r. 0๋ฒ์งธ ์์
of a ์ ๋ถ๋ถ์ ํฌํจ s ์ ์ฒด ์ ๊ท์ ์ผ์น
ํํ r. ์ฒจ์ a[n, "์์"]๋ฐ a[n, "๊ธธ์ด"]
๋ฌธ์์ด๊ณผ ๊ธธ์ด์ ๊ฐ๊ฐ ์์ ์์ธ์ ์ ๊ณตํ์ญ์์ค.
๊ฐ ์ผ์นํ๋ ๋ถ๋ถ ๋ฌธ์์ด์.
ํจํธ ์คํ๋ฆฟ(s, a [, r [, ํจํ์ฆ] ])
๋ฌธ์์ด ๋ถํ s ๋ฐฐ์ด๋ก a ๋ฐ ๊ตฌ๋ถ์ ๋ฐฐ์ด ํจํ์ฆ
์ ๊ท์์ r, ํ๋ ์๋ฅผ ๋ฐํํฉ๋๋ค.
์์ ๊ฐ์ s ์ผ์นํ๋ r. ์ ๊ฐ์น
์ [i] ์์ ๋ํ๋ ๊ตฌ๋ถ์๋ a[i+1]. ๋ฉด r
์๋ตํ๊ณ , FPAT ๋์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐฐ์ด a ๊ณผ ํจํ์ฆ are
๋จผ์ ํด๋ฆฌ์ด. ๋ถํ ์ ํ๋ ๋ถํ ๊ณผ ๋์ผํ๊ฒ ๋์ํฉ๋๋ค.
๊ณผ FPAT, ์ ์ ํ ๋ฐ์.
๋๋๋ค(s, a [, r [, ํจํ์ฆ] ])
๋ฌธ์์ด ๋ถํ s ๋ฐฐ์ด๋ก a ๋ฐ ๊ตฌ๋ถ์ ๋ฐฐ์ด ํจํ์ฆ
์ ๊ท์์ r, ํ๋ ์๋ฅผ ๋ฐํํฉ๋๋ค. ๋ง์ฝ์
r ์๋ตํ๊ณ , FS ๋์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐฐ์ด a ๊ณผ ํจํ์ฆ are
๋จผ์ ํด๋ฆฌ์ด. ์ [i] ๋ค์๊ณผ ์ผ์นํ๋ ํ๋ ๊ตฌ๋ถ ๊ธฐํธ์ ๋๋ค. r
์ฌ์ด์ a[i] ๊ณผ a[i+1]. ๋ฉด r ๋จ์ผ ๊ณต๋ฐฑ โโ๋ค์
๊ณต๋ฐฑ s ์ถ๊ฐ ๋ฐฐ์ด ์์๋ก ์ด๋ 0์[XNUMX] ๊ณผ
ํํ ๊ณต๋ฐฑ์ ์ถ๊ฐ ๋ฐฐ์ด ์์๋ก ๋ค์ด๊ฐ๋๋ค. ์ [n],
์ด๋์ n ์ ๋ฐํ ๊ฐ์ ๋๋ค. ๋๋๋ค(s, a, r, ํจํ์ฆ). ํํธ
์์์ ์ค๋ช ํ ํ๋ ๋ถํ ๊ณผ ๋์ผํ๊ฒ ๋์ํฉ๋๋ค.
sprintf์ (fmt, expr ๋ชฉ๋ก) ์ธ์ expr ๋ชฉ๋ก ์ ๋ฐ๋ผ fmt, ๊ฒฐ๊ณผ ๋ฌธ์์ด์ ๋ฐํํฉ๋๋ค.
์คํธํ ๋(ํ์ ๋ฒ์ ) ๊ฒํ ํ๋ค ํ์ ๋ฒ์ , ์ซ์ ๊ฐ์ ๋ฐํํฉ๋๋ค. ๋ง์ฝ์ ํ์ ๋ฒ์ ๋ก ์์
์ง๋ 0, XNUMX์ง์๋ก ์ฒ๋ฆฌํฉ๋๋ค. ๋ง์ฝ์ ํ์ ๋ฒ์ ๋ก ์์
์ง๋ 0x or 0X, XNUMX์ง์๋ก ์ทจ๊ธํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด,
XNUMX์ง์๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค.
๋ณด๊ฒฐ(r, s [, t]) ์ฒ๋ผ gsub(), ํ์ง๋ง ์ผ์นํ๋ ์ฒซ ๋ฒ์งธ ํ์ ๋ฌธ์์ด๋ง ๋ฐ๊ฟ๋๋ค.
substr (s, i [, n]) ๊ธฐ๊ปํด์ผ ๋ฐํ n-๋ฌธ์ ๋ถ๋ถ ๋ฌธ์์ด s ์์ i. ๋ฉด n
์๋ต, ๋๋จธ์ง ์ฌ์ฉ s.
๋ฎ์ถ๋ค(ํ์ ๋ฒ์ ) ๋ฌธ์์ด์ ๋ณต์ฌ๋ณธ์ ๋ฐํ ํ์ ๋ฒ์ , ๋ชจ๋ ๋๋ฌธ์ ์ฌ์ฉ
in ํ์ ๋ฒ์ ํด๋น ์๋ฌธ์๋ก ๋ณํ๋ฉ๋๋ค.
์ํ๋ฒณ์ด ์๋ ๋ฌธ์๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
ํ ํผ(ํ์ ๋ฒ์ ) ๋ฌธ์์ด์ ๋ณต์ฌ๋ณธ์ ๋ฐํ ํ์ ๋ฒ์ , ๋ชจ๋ ์๋ฌธ์๋ก
in ํ์ ๋ฒ์ ํด๋น ๋๋ฌธ์๋ก ๋ณํ๋ฉ๋๋ค.
์ํ๋ฒณ์ด ์๋ ๋ฌธ์๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
๋ํ ์ฌ๋ ๋ฉํฐ๋ฐ์ดํธ๋ฅผ ์ธ์ํฉ๋๋ค. ์ด๊ฒ์ ์ธ๋ฑ์ค(), ๊ธธ์ด(), substr () ๊ณผ ์ฑ๋ฅ() ๋ชจ๋ ์ผ
๋ฐ์ดํธ๊ฐ ์๋ ๋ฌธ์๋ก.
Time ๊ธฐ๋ฅ
AWK ํ๋ก๊ทธ๋จ์ ์ฃผ์ ์ฉ๋ ์ค ํ๋๋ ์๊ฐ์ด ํฌํจ๋ ๋ก๊ทธ ํ์ผ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด๋ฏ๋ก
์คํฌํ ์ ๋ณด, ๋ํ ์ฌ๋ ํ์ ์คํฌํ๋ฅผ ์ป๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
ํฌ๋งทํฉ๋๋ค.
mk์๊ฐ(๋ ์ง ์ฌ์)
ํ ๋ ์ง ์ฌ์ ์ ์ํด ๋ฐํ๋ ๊ฒ๊ณผ ๋์ผํ ํ์์ ํ์ ์คํฌํ๋ก ์์คํ ํ์()๋ฐ
๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค. ๊ทธ๋งํผ ๋ ์ง ์ฌ์ ํ์์ ๋ฌธ์์ด์ ๋๋ค. YYYY MM DD HH MM ๋ด ์ฌ๋ฆ ์์ฆ[
์๋จธํ์]. ๋ฌธ์์ด์ ๋ด์ฉ์ ๋ค์์ ๋ํ๋ด๋ XNUMX๊ฐ ๋๋ XNUMX๊ฐ์ ์ซ์์ ๋๋ค.
๊ฐ๊ฐ ์ธ๊ธฐ๋ฅผ ํฌํจํ ์ ์ฒด ์ฐ๋, 1์์ 12๊น์ง์ ์, ์ผ
1๋ถํฐ 31๊น์ง์ ์, 0๋ถํฐ 23๊น์ง์ ์๊ฐ, 0๋ถํฐ XNUMX๊น์ง์ ๋ถ
59, 0์์ 60 ์ฌ์ด์ ์ด, ์ ํ์ ์ผ๊ด ์ ์ฝ ํ๋๊ทธ. ๊ฐ์น
์ด๋ฌํ ์ซ์๋ ์ง์ ๋ ๋ฒ์ ๋ด์ ์์ ํ์๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํ ์๊ฐ
-1์ ์์ 1์๊ฐ ์ ์ ์๋ฏธํฉ๋๋ค. ์์ ์ ๋ก ๊ทธ๋ ๊ณ ๋ฆฌ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
0๋ ์ด์ 1๋ ๋ฐ 1๋ ์ด์ -0๋ ์ผ๋ก ๊ฐ์ ํฉ๋๋ค. ์๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ์ง ์๊ฐ๋๋ก ๊ฐ์ ํฉ๋๋ค. ์ผ๊ด ์ ์ฝ ํ๋๊ทธ๊ฐ ์์์ด๋ฉด
์๊ฐ์ ์ผ๊ด ์ ์ฝ ์๊ฐ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. XNUMX์ด๋ฉด ์๊ฐ์ด ๋ค์์ผ๋ก ๊ฐ์ ๋ฉ๋๋ค.
ํ์ค ์๊ฐ์ด์ด์ผ ํฉ๋๋ค. ์์์ธ ๊ฒฝ์ฐ(๊ธฐ๋ณธ๊ฐ), mktime () ๊ฒฐ์ ํ๋ ค๋ ์๋
์ง์ ๋ ์๊ฐ ๋์ ์ผ๊ด ์ ์ฝ ์๊ฐ์ด ์ ์ฉ๋๋์ง ์ฌ๋ถ. ๋ง์ฝ์ ๋ ์ง ์ฌ์
์์๊ฐ ์ถฉ๋ถํ์ง ์๊ฑฐ๋ ๊ฒฐ๊ณผ ์๊ฐ์ด ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๊ฒฝ์ฐ
mktime () -1๋ฅผ ๋ฐํํฉ๋๋ค.
strf์๊ฐ([์ฒด์ฌ [, ๋ฐ๋ผ์ ์ค๋ฅธ์ชฝ ํ๋จ์[, utc-ํ๋๊ทธ]]])
ํ์ฑ ๋ฐ๋ผ์ ์ค๋ฅธ์ชฝ ํ๋จ์ ์ ์ฌ์์ ๋ฐ๋ผ ์ฒด์ฌ. ๋ฉด utc-ํ๋๊ทธ is
์กด์ฌํ๊ณ XNUMX์ด ์๋๊ฑฐ๋ null์ด ์๋ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ๋ UTC์ ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฒฐ๊ณผ
ํ์ง ์๊ฐ์ ๋๋ค. ๊ทธ๋งํผ ๋ฐ๋ผ์ ์ค๋ฅธ์ชฝ ํ๋จ์ ์ ์ํด ๋ฐํ๋ ๊ฒ๊ณผ ๋์ผํ ํ์์ด์ด์ผ ํฉ๋๋ค.
์์คํ ํ์(). ๋ฉด ๋ฐ๋ผ์ ์ค๋ฅธ์ชฝ ํ๋จ์ ์ด ์์ผ๋ฉด ํ์ฌ ์๊ฐ์ด ์ฌ์ฉ๋ฉ๋๋ค. ๋ง์ฝ์ ์ฒด์ฌ
์ ์ถ๋ ฅ๊ณผ ๋์ผํ ๊ธฐ๋ณธ ํ์์ด ์์ต๋๋ค. ๋ฐ์ดํฐ(1)์ด ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋งํผ
๊ธฐ๋ณธ ํ์์ ๋ค์์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. PROCINFO["strftime"]. ์ฌ์ ์ฐธ์กฐ
์ ์, strftime () ๋ณด์ฅ๋๋ ํ์ ๋ณํ์ ์ํ ISO C์ ๊ธฐ๋ฅ
๊ฐ๋ฅ ํ๊ฒ๋.
์์คํ ํ์() Epoch ์ดํ์ ์ด ์๋ก ํ์ฌ ์๊ฐ์ ๋ฐํํฉ๋๋ค.
(POSIX ์์คํ ์์ 1970-01-01 00:00:00 UTC).
๋นํธ ์กฐ์ ๊ธฐ๋ฅ
๋ํ ์ฌ๋ ๋ค์ ๋นํธ ์กฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ค์ ์ด์ค์ผ๋ก ๋ณํํ์ฌ ์๋ํฉ๋๋ค.
์ ๋ฐ ๋ถ๋ ์์์ ๊ฐ uintmax_t ์ ์, ์ฐ์ฐ ์ํ, ๊ทธ๋ฆฌ๊ณ
๊ฒฐ๊ณผ๋ฅผ ๋ค์ ๋ถ๋ ์์์ ์ผ๋ก ๋ณํํฉ๋๋ค. ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ (v1, v2 [, ...]) ์ธ์ ๋ชฉ๋ก์ ์ ๊ณต๋ ๊ฐ์ ๋นํธ AND๋ฅผ ๋ฐํํฉ๋๋ค.
์ ์ด๋ ๋ ๊ฐ๋ ์์ด์ผ ํฉ๋๋ค.
์๋ฃ(ํ) ์ ๋นํธ ๋ณด์๋ฅผ ๋ฐํํฉ๋๋ค. ํ.
l์ํํธ(ํ, ๊ณ์ฐ) ์ ๊ฐ์ ๋ฐํ ํ, ์ผ์ชฝ์ผ๋ก ์ด๋ ๊ณ์ฐ ๋นํธ.
๋๋(v1, v2 [, ...]) ์ธ์ ๋ชฉ๋ก์ ์ ๊ณต๋ ๊ฐ์ ๋นํธ OR์ ๋ฐํํฉ๋๋ค.
์ ์ด๋ ๋ ๊ฐ๋ ์์ด์ผ ํฉ๋๋ค.
rshift(ํ, ๊ณ์ฐ) ์ ๊ฐ์ ๋ฐํ ํ, ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ ๊ณ์ฐ ๋นํธ.
xor(v1, v2 [, ...]) ์ธ์ ๋ชฉ๋ก์ ์ ๊ณต๋ ๊ฐ์ ๋นํธ๋ณ XOR์ ๋ฐํํฉ๋๋ค.
์ ์ด๋ ๋ ๊ฐ๋ ์์ด์ผ ํฉ๋๋ค.
ํ์ ํจ์
๋ค์ ํจ์๋ ๋ค์ฐจ์ ๋ฐฐ์ด์ ์ฌ์ฉ๋ฉ๋๋ค.
isarray(x)
๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ฐธ ๋ฐํ x ๋ฐฐ์ด์ด๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฑฐ์ง์ ๋๋ค.
๊ตญ์ ํ ๊ธฐ๋ฅ
๋ฌธ์์ด์ ๋ฒ์ญํ๊ธฐ ์ํด AWK ํ๋ก๊ทธ๋จ ๋ด์์ ๋ค์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฐํ์์. ์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ธ์. ๋ํ ์ฌ๋: ์ ํจํ AWK ํ๋ก๊ทธ๋จ ์์ฑ.
๋ฐ์ธ๋ํ ์คํธ๋๋ฉ์ธ(์๋ฐฐ ๊ท์น์ [, ๋๋ฉ์ธ])
๋๋ ํ ๋ฆฌ ์ง์ ๋ํ ์ฌ๋ ์ ์ฐพ์ต๋๋ค .gmo ํ์ผ, ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ๋๋
``ํ์ค'' ์์น์ ๋ฐฐ์นํ ์ ์์ต๋๋ค(์: ํ ์คํธ ์ค). ๋์๊ฐ๋ค
๋๋ ํ ๋ฆฌ ๋๋ฉ์ธ ``๋ฌถ์ฌ ์๋ค.''
๊ธฐ๋ณธ๊ฐ์ ๋๋ฉ์ธ ์ ๊ฐ์ด๋ค ํ ์คํธ ๋๋ฉ์ธ. ๋ฉด ์๋ฐฐ ๊ท์น์ null ๋ฌธ์์ด์ ๋๋ค.
(""), ๋ค์ ๋ฐ์ธ๋ํ ์คํธ๋๋ฉ์ธ() ์ฃผ์ด์ง ๋ฐ์ธ๋ฉ์ ๋ํ ํ์ฌ ๋ฐ์ธ๋ฉ์ ๋ฐํํฉ๋๋ค. ๋๋ฉ์ธ.
dcgettext(ํ [, ๋๋ฉ์ธ [, ๋ฒ์ฃผ]])
๋ฒ์ญ ๋ฐํ ํ ํ ์คํธ ๋๋ฉ์ธ์์ ๋๋ฉ์ธ ๋ก์ผ์ผ ๋ฒ์ฃผ
๋ฒ์ฃผ. ์ ๋ํ ๊ธฐ๋ณธ๊ฐ ๋๋ฉ์ธ ์ ํ์ฌ ๊ฐ์ ๋๋ค. ํ ์คํธ ๋๋ฉ์ธ. ๊ทธ๋งํผ
๊ธฐ๋ณธ๊ฐ ๋ฒ์ฃผ is "LC_MESSAGES".
์ ๋ํ ๊ฐ์ ์ ๊ณตํ๋ ๊ฒฝ์ฐ ๋ฒ์ฃผ, ์๋ ค์ง ๋ฌธ์์ด ์ค ํ๋์ ๋์ผํ ๋ฌธ์์ด์ด์ด์ผ ํฉ๋๋ค.
์ ์ค๋ช ๋ ๋ก์ผ์ผ ๋ฒ์ฃผ ๋ํ ์ฌ๋: ์ ํจํ AWK ํ๋ก๊ทธ๋จ ์์ฑ. ๋น์ ์ ๋ํํด์ผํฉ๋๋ค
ํ ์คํธ ๋๋ฉ์ธ์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ ํ ์คํธ ๋๋ฉ์ธ ํ์ฌ ๋๋ฉ์ธ์ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ.
dcngettext(string1, string2, ๋ฒํธ [, ๋๋ฉ์ธ [, ๋ฒ์ฃผ]])
์ ์ฌ์ฉ๋ ๋ณต์ํ์ ๋ฐํํฉ๋๋ค. ๋ฒํธ ๋ฒ์ญ์ string1 ๊ณผ string2 in
ํ ์คํธ ๋๋ฉ์ธ ๋๋ฉ์ธ ๋ก์ผ์ผ ๋ฒ์ฃผ ๋ฒ์ฃผ. ์ ๋ํ ๊ธฐ๋ณธ๊ฐ ๋๋ฉ์ธ is
ํ์ฌ ๊ฐ์น ํ ์คํธ ๋๋ฉ์ธ. ์ ๋ํ ๊ธฐ๋ณธ๊ฐ ๋ฒ์ฃผ is "LC_MESSAGES".
์ ๋ํ ๊ฐ์ ์ ๊ณตํ๋ ๊ฒฝ์ฐ ๋ฒ์ฃผ, ์๋ ค์ง ๋ฌธ์์ด ์ค ํ๋์ ๋์ผํ ๋ฌธ์์ด์ด์ด์ผ ํฉ๋๋ค.
์ ์ค๋ช ๋ ๋ก์ผ์ผ ๋ฒ์ฃผ ๋ํ ์ฌ๋: ์ ํจํ AWK ํ๋ก๊ทธ๋จ ์์ฑ. ๋น์ ์ ๋ํํด์ผํฉ๋๋ค
ํ ์คํธ ๋๋ฉ์ธ์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ ํ ์คํธ ๋๋ฉ์ธ ํ์ฌ ๋๋ฉ์ธ์ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ.
์ฌ์ฉ์ ์ ์ ๊ธฐ๋ฅ
AWK์ ํจ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
๊ธฐ๋ฅ name(๋งค๊ฐ ๋ณ์ ๋ช ๋ถ) { ๋ฌธ }
ํจ์๋ ํจํด ๋๋ ํํ์์ ํํ์ ๋ด์์ ํธ์ถ๋ ๋ ์คํ๋ฉ๋๋ค.
ํ์. ํจ์ ํธ์ถ์ ์ ๊ณต๋ ์ค์ ๋งค๊ฐ๋ณ์๋ ๋ค์์ ์ธ์คํด์คํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
ํจ์์์ ์ ์ธ๋ ๊ณต์ ๋งค๊ฐ๋ณ์. ๋ฐฐ์ด์ ์ฐธ์กฐ๋ก ์ ๋ฌ๋ฉ๋๋ค.
๋ณ์๋ ๊ฐ์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค.
ํจ์๋ ์๋ AWK ์ธ์ด์ ์ผ๋ถ๊ฐ ์๋์๊ธฐ ๋๋ฌธ์ ๋ก์ปฌ
๋ณ์๋ ๋ค์ ์ด์ํฉ๋๋ค. ๋งค๊ฐ๋ณ์ ๋ชฉ๋ก์์ ์ถ๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ ์ธ๋ฉ๋๋ค.
๊ด๋ก๋ ์ง์ญ ๋ณ์์ ์ค์ ๋งค๊ฐ๋ณ์๋ฅผ
๋งค๊ฐ๋ณ์ ๋ชฉ๋ก. ์๋ฅผ ๋ค์ด:
๊ธฐ๋ฅ ์ํ(ํผ, q, a, b) # a ๊ณผ b are ์ง๋ฐฉ์
{
...
}
/์ํ๋ฒณ/ { ... ; ์ํ(1, 2) ; ... }
ํจ์ ํธ์ถ์ ์ผ์ชฝ ๊ดํธ๋ ํจ์ ๋ฐ๋ก ๋ค์ ์์ผ ํฉ๋๋ค.
์ค๊ฐ์ ๊ณต๋ฐฑ์ด ์๋ ์ด๋ฆ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ตฌ๋ฌธ์ ๋ชจํธ์ฑ์ ํผํ ์ ์์ต๋๋ค.
์ฐ๊ฒฐ ์ฐ์ฐ์. ์ด ์ ํ์ ๋์ด๋ ๋ด์ฅ ํจ์์๋ ์ ์ฉ๋์ง ์์ต๋๋ค.
์.
ํจ์๋ ์๋ก๋ฅผ ํธ์ถํ ์ ์์ผ๋ฉฐ ์ฌ๊ท์ ์ผ ์ ์์ต๋๋ค. ๋ก์ปฌ๋ก ์ฌ์ฉ๋๋ ํจ์ ๋งค๊ฐ๋ณ์
๋ณ์๋ ํจ์ ํธ์ถ ์ null ๋ฌธ์์ด๊ณผ ์ซ์ XNUMX์ผ๋ก ์ด๊ธฐํ๋ฉ๋๋ค.
return ํน๊ธ ํจ์์์ ๊ฐ์ ๋ฐํํฉ๋๋ค. ์๋ ๊ฒฝ์ฐ ๋ฐํ ๊ฐ์ ์ ์๋์ง ์์ต๋๋ค.
๊ฐ์ด ์ ๊ณต๋๊ฑฐ๋ ํจ์๊ฐ "๋จ์ด์ ธ" ์ข ๋ฃ๋์ด ๋ฐํ๋๋ ๊ฒฝ์ฐ.
์ผ๋ก ๋ํ ์ฌ๋ ํ์ฅ, ํจ์๋ ๊ฐ์ ์ ์ผ๋ก ํธ์ถ๋ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋ค์์ ์ด๋ฆ์ ์ง์ ํ์ญ์์ค.
๋ฌธ์์ด๋ก ๋ณ์์ ํธ์ถํ ํจ์. ๊ทธ๋ฐ ๋ค์ ๋ณ์๋ฅผ ๋ง์น
์ ๋์ฌ๊ฐ ๋ถ์ ํจ์์ ์ด๋ฆ์ด์์ต๋๋ค. @ ๋ค์๊ณผ ๊ฐ์ด ์๋ช ํ์ญ์์ค.
๊ธฐ๋ฅ ๋ง์ดํํฌ()
{
์ธ์ "myfunc ๋ผ๊ณ ๋ถ๋ฆฌ๋"
...
}
{ ...
the_func = "myfunc"
@the_func() # ์ ํ ์ ํตํ์ฌ the_func ์ myfunc
...
}
๋ฒ์ 4.1.2๋ถํฐ๋ ์ฌ์ฉ์ ์ ์ ํจ์, ๋ด์ฅ ํจ์ ๋ฐ
ํ์ฅ ๊ธฐ๋ฅ.
If --๋ฆฐํธ ์ ๊ณต๋์์ผ๋ฉฐ, ๋ํ ์ฌ๋ ๊ตฌ๋ฌธ ๋ถ์ ์๊ฐ์ ์ ์๋์ง ์์ ํจ์์ ๋ํ ํธ์ถ์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค.
๋ฐํ์์ ๋์ . ๋ฐํ์์ ์ ์๋์ง ์์ ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ์ ์น๋ช ์ ์ธ ์ค๋ฅ์ ๋๋ค.
๋จ์ด ํํฌ ๋์ ์ฌ์ฉํ ์ ์์ต๋๋ค ๊ธฐ๋ฅ, ์ด๊ฒ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ง๋ง.
๋์ ์ผ๋ก ๋ก๋ฉ ํ์ฌ ๊ธฐ๋ฅ
์คํ ์ค์ธ ์ ๋ด์ฅ ํจ์๋ฅผ ๋์ ์ผ๋ก ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋ํ ์ฌ๋ ์ ํต์ญ์ฌ
@์ง ์ฑ๋ช . ์์ธํ ๋ด์ฉ์ ์ด ๋งค๋ด์ผ ํ์ด์ง์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ฉ๋๋ค. ๋ณด๋ค ๋ํ ์ฌ๋:
์ ํจํ AWK ํ๋ก๊ทธ๋จ ์์ฑ.
์ ํธ
XNUMXD๋ดํ์ ๋ํ ์ฌ๋ ํ๋กํ์ผ๋ฌ๋ ๋ ๊ฐ์ ์ ํธ๋ฅผ ๋ฐ์๋ค์ ๋๋ค. ์๊ตฌ์ค๋ฅด1 ํ๋กํ๊ณผ ๊ธฐ๋ฅ์ ๋คํํ๊ฒ ๋ง๋ญ๋๋ค.
ํ๋กํ ํ์ผ์ ๋ํ ํธ์ถ ์คํ์ ๋ค์ ์ค ํ๋์ ๋๋ค. awkprof.out, ๋๋ ํ์ผ ์ด๋ฆ์ด ๋ฌด์์ด๋
์ ๋๋ถ์ด --ํ๋กํ ์ต์ . ๊ทธ๋ฐ ๋ค์ ๊ณ์ ์คํ๋ฉ๋๋ค. ์์ ์์ธ ๋ํ ์ฌ๋ ๋คํ
ํ๋กํ ๋ฐ ํจ์ ํธ์ถ ์คํ์ ํธ์ถํ ๋ค์ ์ข ๋ฃํฉ๋๋ค.
๊ตญ์ ํ
๋ฌธ์์ด ์์๋ ํฐ๋ฐ์ดํ๋ก ๋ฌถ์ธ ์ผ๋ จ์ ๋ฌธ์์ ๋๋ค. ๋น์์ด๊ถ
๋งํ๊ธฐ ํ๊ฒฝ์์ AWK ํ๋ก๊ทธ๋จ์ ๋ฌธ์์ด์ ์๊ตฌ ์ฌํญ์ผ๋ก ํ์ํ ์ ์์ต๋๋ค.
ํ์ง ์์ฐ์ด๋ก ๋ฒ์ญํฉ๋๋ค. ์ด๋ฌํ ๋ฌธ์์ด์ AWK ํ๋ก๊ทธ๋จ์์ ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
์ ํ ๋ฐ์ค("_"). ์๋ฅผ ๋ค์ด,
๋ํ ์ฌ๋ '์์ํ๋ค { ์ธ์ "์๋ ํ์ธ์, ์ธ๊ณ" }'
ํญ์ ์ธ์ ์๋ ํ์ธ์, ์ธ๊ณ. ๊ทธ๋ฌ๋,
๋ํ ์ฌ๋ '์์ํ๋ค { ์ธ์ _"์๋ ํ์ธ์, ์ธ๊ณ" }'
์ธ์ํ ์ ์์ต๋๋ค ์๋ ํ์ธ์ ๋ชฝ๋ ํ๋์ค.
์ง์ญํ ๊ฐ๋ฅํ AWK ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ณ ์คํํ๋ ๋ฐ๋ ์ฌ๋ฌ ๋จ๊ณ๊ฐ ํฌํจ๋ฉ๋๋ค.
1. ์ถ๊ฐ BEGIN ์ ๊ฐ์ ํ ๋นํ๋ ์์ ํ ์คํธ ๋๋ฉ์ธ ํ ์คํธ ๋๋ฉ์ธ์ ์ค์ ํ๋ ๋ณ์
ํ๋ก๊ทธ๋จ๊ณผ ๊ด๋ จ๋ ์ด๋ฆ์ผ๋ก:
BEGIN { ํ ์คํธ ๋๋ฉ์ธ = "๋ง์ดํ๋ก๊ทธ" }
์ด๊ฒ์ ํ์ฉ ๋ํ ์ฌ๋ ๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ .gmo ํ๋ก๊ทธ๋จ๊ณผ ๊ด๋ จ๋ ํ์ผ. ์ด๊ฒ ์์ด
๋จ๊ณ, ๋ํ ์ฌ๋ ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ์์ง ๋ฒ์ญ์ด ํฌํจ๋์ง ์์ ํ ์คํธ ๋๋ฉ์ธ
๋น์ ์ ํ๋ก๊ทธ๋จ์ ์ํด.
2. ์ ํ ๋ฐ์ค๋ก ๋ฒ์ญํด์ผ ํ๋ ๋ชจ๋ ๋ฌธ์์ด์ ํ์ํฉ๋๋ค.
3. ํ์ํ ๊ฒฝ์ฐ dcgettext() ๋ฐ / ๋๋ ๋ฐ์ธ๋ํ ์คํธ๋๋ฉ์ธ() ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ฅ,
์ ์ ํ.
4. ์คํ ๋ํ ์ฌ๋ --gen-pot -f myprog.awk > myprog.pot ~๋ฅผ ์์ฑํ๊ธฐ ์ํด .๋๋น ๋น์ ์ ํ์ผ
ํ๋ก๊ทธ๋จ)
5. ์ ์ ํ ๋ฒ์ญ์ ์ ๊ณตํ๊ณ ํด๋น ๋ฒ์ญ์ ๋น๋ ๋ฐ ์ค์นํฉ๋๋ค. .gmo ํ์ผ.
๊ตญ์ ํ ๊ธฐ๋ฅ์ ์ ์์ธํ ์ค๋ช ๋์ด ์์ต๋๋ค. ๋ํ ์ฌ๋: ์ ํจํ AWK
ํ๋ก๊ทธ๋จ ์์ฑ.
POSIX ํธํ์ฑ
์ฃผ์ ๋ชฉํ ๋ํ ์ฌ๋ POSIX ํ์ค๊ณผ์ ํธํ์ฑ๋ฟ ์๋๋ผ
Brian Kernighan์ ์ต์ ๋ฒ์ AWK. ์ด๋ฅผ ์ํด, ๋ํ ์ฌ๋ ๋ค์์ ํตํฉ
AWK ์ฑ ์๋ ์ค๋ช ๋์ด ์์ง ์์ง๋ง Brian์ ์ผ๋ถ์ธ ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ๊ธฐ๋ฅ
์ปค๋๊ฑด์ ๋ฒ์ AWK, POSIX ํ์ค์ ์์ต๋๋ค.
์ด ์ฑ ์ ๋ช ๋ น์ค ๋ณ์ ํ ๋น์ด ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ๋ฐ์ํจ์ ๋ํ๋ ๋๋ค. AWK ๊ทธ๋ ์ง ์์ผ๋ฉด
์ธ์๋ฅผ ํ์ผ๋ก ์ฝ๋๋ค. BEGIN ๊ท์น์ด ์คํ๋ฉ๋๋ค. ๊ทธ๋ฌ๋,
์ด์ ๊ตฌํ์์ ์ด๋ฌํ ํ ๋น์ด ํ์ผ ์ด๋ฆ ์์ ๋ํ๋๋ฉด
๋ฐฐ์ ์ด ์ผ์ด๋ ๊ฒ์ ๋๋ค ์ ์ ์ ์, BEGIN ๊ท์น์ด ์คํ๋์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์กดํ๊ฒ ๋์์ต๋๋ค.
์ด "๊ธฐ๋ฅ" ์ธ์ AWK ๋ฌธ์์ ์ผ์นํ๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. -v ์ ๋ํ ์ต์
์์ฉ ํ๋ก๊ทธ๋จ์ ์์ฉํ๊ธฐ ์ํด ํ๋ก๊ทธ๋จ ์คํ์ด ์ถ๊ฐ๋๊ธฐ ์ ์ ๋ณ์ ํ ๋น
์ด์ ํ๋์ ์์กดํ์ต๋๋ค. (์ด ๊ธฐ๋ฅ์ Bell๊ณผ
์ฐ๊ตฌ์ ๋ฐ GNU ๊ฐ๋ฐ์.)
์ธ์๋ฅผ ์ฒ๋ฆฌํ ๋ ๋ํ ์ฌ๋ ํน์ ์ต์ "--"๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ์๋ฆฝ๋๋ค.
์ธ์. ํธํ์ฑ ๋ชจ๋์์๋ ์ ์๋์ง ์์ ์ต์ ์ ๋ํด ๊ฒฝ๊ณ ํ์ง๋ง ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฌด์ํฉ๋๋ค.
์ ์์ ์ธ ์๋์์ ์ด๋ฌํ ์ธ์๋ ์ฒ๋ฆฌํ AWK ํ๋ก๊ทธ๋จ์ ์ ๋ฌ๋ฉ๋๋ค.
AWK ์ฑ ์ ๋ค์์ ๋ฐํ ๊ฐ์ ์ ์ํ์ง ์์ต๋๋ค. srand (). POSIX ํ์ค์๋
๋์ ์ํ์ค๋ฅผ ์ถ์ ํ ์ ์๋๋ก ์ฌ์ฉ ์ค์ธ ์๋๋ฅผ ๋ฐํํฉ๋๋ค.
๋ฐ๋ผ์ srand () in ๋ํ ์ฌ๋ ๋ํ ํ์ฌ ์๋๋ฅผ ๋ฐํํฉ๋๋ค.
๊ธฐํ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. -f ์ต์ (MKS์์ AWK); ๊ทธ๋งํผ ํ๊ฒฝ ์ ๋ ฌ;
์ ์, \a๋ฐ \v ์ด์ค์ผ์ดํ ์ํ์ค(์๋ ๋ํ ์ฌ๋ ๋ฒจ์ ๋ค์ ํผ๋๋ฐฑ
์คํ์ค ๋ฒ์ ); ๊ทธ๋งํผ tolower() ๊ณผ ํํผ() ๋ด์ฅ ํจ์(Bell์์
์คํ์ค ๋ฒ์ ); ๋ฐ ISO C ๋ณํ ์ฌ์์ printf (์ฒ์์ ์๋ฃ
๋ฒจ ์ฐ๊ตฌ์ ๋ฒ์ ).
์ญ์ฌ์ ์ธ STYLE
์ญ์ฌ์ ์ธ AWK ๊ตฌํ์๋ ๋ค์๊ณผ ๊ฐ์ ํ ๊ฐ์ง ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ๋ํ ์ฌ๋ ์ง์: ๊ฐ๋ฅ
์ ํ๋ฅผ ๊ฑธ๋ค. ๊ธธ์ด() ์ธ์๊ฐ ์์ ๋ฟ๋ง ์๋๋ผ ์ธ์๊ฐ ์๋ ๋ด์ฅ ํจ์
๊ดํธ! ๋ฐ๋ผ์,
a = ๊ธธ์ด # ๊ฑฐ๋ฃฉํ ์๊ณจ 60, ๋ฐฐํธ๋งจ!
์ค ํ๋์ ๋์ผํฉ๋๋ค
a = ๊ธธ์ด()
a = ๊ธธ์ด($0)
์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒ์ ์ข์ง ์์ ์ต๊ด์ด๋ฉฐ ๋ํ ์ฌ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ฌ์ฉ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ๋ฐํํฉ๋๋ค. --๋ฆฐํธ is
๋ช ๋ น์ค์ ์ง์ ๋ฉ๋๋ค.
GNU ํ์ฅ
๋ํ ์ฌ๋ POSIX์ ๋ํ ํ์ฅ์ด ๋๋ฌด ๋ง์ต๋๋ค. AWK. ๊ทธ๋ค์ ์ด๊ฒ์ ์ค๋ช ๋์ด ์์ต๋๋ค
๋ถ๋ถ. ์ฌ๊ธฐ์ ์ค๋ช ๋ ๋ชจ๋ ํ์ฅ์ ๋ค์์ ํธ์ถํ์ฌ ๋นํ์ฑํํ ์ ์์ต๋๋ค. ๋ํ ์ฌ๋ ์ ๋๋ถ์ด
--์ ํต์ ์ธ or --ํฌ์์ค ์ต์ ์ ์ ๊ณตํฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ ๋ํ ์ฌ๋ POSIX์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. AWK.
ยท ๋ค์์ ํตํด ๋ช ๋ช ๋ ํ์ผ์ ๋ํด ๊ฒฝ๋ก ๊ฒ์์ด ์ํ๋์ง ์์ต๋๋ค. -f ์ต์ . ๋ฐ๋ผ์ AWKPATH
ํ๊ฒฝ ๋ณ์๋ ํน๋ณํ์ง ์์ต๋๋ค.
ยท ํ์ผ ํฌํจ์ ์ํ ๊ธฐ๋ฅ์ด ์์ต๋๋ค(๋ํ ์ฌ๋'s @ํฌํจํ๋ค ๊ธฐ๊ตฌ).
ยท C๋ก ์์ฑ๋ ์ ํจ์๋ฅผ ๋์ ์ผ๋ก ์ถ๊ฐํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค(๋ํ ์ฌ๋'s @์ง
๊ธฐ๊ตฌ).
ยท \x ํ์ถ ์ํ์ค. (๋นํ์ฑํ --ํฌ์์ค.)
ยท ๋ค์์ ์ค์ ๊ณ์ํ๋ ๊ธฐ๋ฅ ? ๊ณผ :. (๋นํ์ฑํ --ํฌ์์ค.)
ยท AWK ํ๋ก๊ทธ๋จ์ XNUMX์ง์ ๋ฐ XNUMX์ง์ ์์.
ยท ์๋ฅด์ง๋, ๋น๋ชจ๋, ์๋ฅด๋ ธ, ๋ฆฐํธ, RT ๊ณผ ํ ์คํธ ๋๋ฉ์ธ ๋ณ์๋ ํน๋ณํ์ง ์์ต๋๋ค.
ยท ๋์๋ฌธ์ ๋ฌด์ ๋ณ์ ๋ฐ ๊ทธ ๋ถ์์ฉ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ยท ํ๋ํญ ๊ฐ๋ณ ๋ฐ ๊ณ ์ ๋๋น ํ๋ ๋ถํ .
ยท FPAT ํ๋ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ณ์ ๋ฐ ํ๋ ๋ถํ .
ยท ํ๋ก์ ํฌ ๋ฐฐ์ด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ยท ์ฌ์ฉ RS ์ ๊ท์์ผ๋ก.
ยท I/O ๋ฆฌ๋๋ ์ ์ ์ฌ์ฉํ ์ ์๋ ํน์ ํ์ผ ์ด๋ฆ์ด ์ธ์๋์ง ์์ต๋๋ค.
ยท |& ๊ณต๋ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๊ธฐ ์ํ ์ฐ์ฐ์์ ๋๋ค.
ยท ์์ ํ์ผ ๊ณผ ์ต์ข ํ์ผ ํน์ ํจํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ยท null ๋ฌธ์์ด์ ๊ฐ์ผ๋ก ์ฌ์ฉํ์ฌ ๊ฐ๋ณ ๋ฌธ์๋ฅผ ๋ถํ ํ๋ ๊ธฐ๋ฅ FS,
๊ทธ๋ฆฌ๊ณ ์ธ ๋ฒ์งธ ์ธ์๋ก ์คํ๋ฆฟ().
ยท ์ ๋ํ ์ ํ์ ๋ค ๋ฒ์งธ ์ธ์ ์คํ๋ฆฟ() ๊ตฌ๋ถ์ ํ ์คํธ๋ฅผ ์์ ํฉ๋๋ค.
ยท ์ ํ์ ์ธ ๋ ๋ฒ์งธ ์ธ์๋ ๋ซ๊ธฐ() ๊ธฐ๋ฅ.
ยท ์ ํ์ ์ธ ๋ฒ์งธ ์ธ์๋ ์ฑ๋ฅ() ๊ธฐ๋ฅ.
ยท ์์น ์ง์ ์๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ printf ๊ณผ sprintf ().
ยท ๋ฐฐ์ด์ ์ ๋ฌํ๋ ๊ธฐ๋ฅ ๊ธธ์ด().
ยท ๊ทธ๋ฆฌ๊ณ (), asort (), ๋ถ๋ฅ(), ๋ฐ์ธ๋ํ ์คํธ๋๋ฉ์ธ(), ์๋ฃ(), dcgettext(), dcngettext(),
์ ์ญ(), ์์ํํธ(), mktime (), ๋๋(), ํจํธ ์คํ๋ฆฟ(), rshift(), strftime (), ์คํธํ ๋(),
์์คํ ํ์() ๊ณผ xor() ๊ธฐ๋ฅ.
ยท ํ์งํ ๊ฐ๋ฅํ ๋ฌธ์์ด.
AWK ์ฑ ์ ๋ฐํ ๊ฐ์ ์ ์ํ์ง ์์ต๋๋ค. ๋ซ๊ธฐ() ๊ธฐ๋ฅ. ๋ํ ์ฌ๋'s ๋ซ๊ธฐ()
์์ ๊ฐ์ ๋ฐํํฉ๋๋ค. ๋ซ๊ธฐ(3) ๋๋ ๋ซ๊ธฐ(3) ์ถ๋ ฅ ํ์ผ์ด๋ ํ์ดํ๋ฅผ ๋ซ์ ๋,
๊ฐ๊ธฐ. ์ ๋ ฅ ํ์ดํ๋ฅผ ๋ซ์ ๋ ํ๋ก์ธ์ค์ ์ข ๋ฃ ์ํ๋ฅผ ๋ฐํํฉ๋๋ค. ๊ทธ๋งํผ
๋ช ๋ช ๋ ํ์ผ, ํ์ดํ ๋๋ ๊ณต๋ ํ๋ก์ธ์ค๊ฐ a๋ก ์ด๋ฆฌ์ง ์์ ๊ฒฝ์ฐ ๋ฐํ ๊ฐ์ -1์ ๋๋ค.
๋ฆฌ๋๋ ์ .
์ธ์ ๋ค ๊ณต์ ํ๋งค์ ์ธ ๋ํ ์ฌ๋ ์ ํจ๊ป ํธ์ถ๋ฉ๋๋ค. --์ ํต์ ์ธ ์ต์ , ๊ฒฝ์ฐ fs ์ธ์ -F ์ต์ ์
"t" ๋ค์ FS ํญ ๋ฌธ์๋ก ์ค์ ๋ฉ๋๋ค. ํ์ดํ์ ์ ์ํ์ญ์์ค. ๋ํ ์ฌ๋ -F\t ... ๋จ์ํ ์์ธ
์์ "t"๋ฅผ ์ธ์ฉํ๊ณ "\t"๋ฅผ -F ์ต์ . ์ด๊ฒ์
๋ค์ ๋ชป์๊ธด ํน์ํ ๊ฒฝ์ฐ์๋ ๊ธฐ๋ณธ ๋์์ด ์๋๋๋ค. ์ด ๋์ ๋ํ
๋ฐ์ํ๋ ๊ฒฝ์ฐ --ํฌ์์ค ์ง์ ๋์์ต๋๋ค. ์ค์ ๋ก ํญ ๋ฌธ์๋ฅผ ํ๋๋ก ์ฌ์ฉํ๋ ค๋ฉด
๊ตฌ๋ถ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์์๋ฐ์ดํ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค. ๋ํ ์ฌ๋ -F'\t' ....
ํ๊ฒฝ ๋ณ์
XNUMXD๋ดํ์ AWKPATH ํ๊ฒฝ ๋ณ์๋ ๋ค์์ ์ํํ๋ ๋๋ ํ ๋ฆฌ ๋ชฉ๋ก์ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ํ ์ฌ๋
๋ฅผ ํตํด ์ด๋ฆ์ด ์ง์ ๋ ํ์ผ์ ์ฐพ์ ๋ ๊ฒ์ํฉ๋๋ค. -f, --ํ์ผ, -i ๊ณผ --ํฌํจํ๋ค ์ต์ . ๋ง์ฝ
์ด๊ธฐ ๊ฒ์ ์คํจ, ๊ฒฝ๋ก ์ถ๊ฐ ํ ๋ค์ ๊ฒ์ .awk ํ์ผ๋ช ์.
XNUMXD๋ดํ์ AWKLIBPATH ํ๊ฒฝ ๋ณ์๋ ๋ค์์ ์ํํ๋ ๋๋ ํ ๋ฆฌ ๋ชฉ๋ก์ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ํ ์ฌ๋
๋ฅผ ํตํด ์ด๋ฆ์ด ์ง์ ๋ ํ์ผ์ ์ฐพ์ ๋ ๊ฒ์ํฉ๋๋ค. -l ๊ณผ --์ง ์ต์ ์ ์ ๊ณตํฉ๋๋ค.
XNUMXD๋ดํ์ GAWK_READ_TIMEOUT ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฐ ์ ํ์ ์ง์ ํ ์ ์์ต๋๋ค.
ํฐ๋ฏธ๋, ํ์ดํ ๋๋ ์๋ฐฉํฅ ํต์ ์์ ์ ๋ ฅ์ ์ฝ๊ธฐ ์ํ ๋ฐ๋ฆฌ์ด
์์ผ.
์์ผ์ ํตํด ์๊ฒฉ ํธ์คํธ์ ์ฐ๊ฒฐํ๋ ค๋ฉด, GAWK_SOCK_RETRIES ์ ์๋ฅผ ์ ์ด
์ฌ์๋ ๋ฐ GAWK_MSEC_SLEEP ๊ทธ๋ฆฌ๊ณ ์ฌ์๋ ์ฌ์ด์ ๊ฐ๊ฒฉ. ๊ฐ๊ฒฉ์
๋ฐ๋ฆฌ์ด. ์ง์ํ์ง ์๋ ์์คํ ์์ ์ ์๋ค(3) ๊ฐ์ ๋ฐ์ฌ๋ฆผ๋ฉ๋๋ค.
์ ์ ์ด.
If POSIXLY_CORRECT ํ๊ฒฝ์ ์กด์ฌํ๋ค๋ฉด ๋ํ ์ฌ๋ ์ฒ๋ผ ์ ํํ ํ๋ํ๋ค --ํฌ์์ค ํ๋ค
๋ช ๋ น์ค์ ์ง์ ๋์์ต๋๋ค. ๋ง์ฝ์ --๋ฆฐํธ ์ง์ ๋์์ผ๋ฉฐ, ๋ํ ์ฌ๋ ๊ฒฝ๊ณ ๋ฅผ ๋ฐํ๋ค
์ด ํจ๊ณผ์ ๋ํ ๋ฉ์์ง.
EXIT ์ง์
๊ฒฝ์ฐ ์ถ๊ตฌ ๋ฌธ์ด ๊ฐ๊ณผ ํจ๊ป ์ฌ์ฉ๋ ๋ค์ ๋ํ ์ฌ๋ ์ฃผ์ด์ง ์ซ์ ๊ฐ์ผ๋ก ์ข ๋ฃ
๊ทธ๊ฒ.
๊ทธ๋ ์ง ์๊ณ ์คํ ์ค ๋ฌธ์ ๊ฐ ์์๋ค๋ฉด, ๋ํ ์ฌ๋ C์ ๊ฐ์ผ๋ก ์ข ๋ฃ
์์ ์ข ๋ฃ_์ฑ๊ณต. ์ด๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก XNUMX์ ๋๋ค.
์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋ํ ์ฌ๋ C ์์ ๊ฐ์ผ๋ก ์ข ๋ฃ ์ข ๋ฃ_์คํจ. ์ด๊ฒ์
๋ณดํต ํ๋.
If ๋ํ ์ฌ๋ ์น๋ช ์ ์ธ ์ค๋ฅ๋ก ์ธํด ์ข ๋ฃ๋๋ฉด ์ข ๋ฃ ์ํ๋ 2์ ๋๋ค. ๋น POSIX ์์คํ ์์ ์ด
๊ฐ์ด ๋งคํ๋ ์ ์์ ์ข ๋ฃ_์คํจ.
๋ฒ์ ์ ๋ณด
์ด ๋งค๋ด์ผ ํ์ด์ง ๋ฌธ์ ๋ํ ์ฌ๋๋ฒ์ 4.1.
์๊ฐ
์ ๋์ค์ ์ค๋ฆฌ์ง๋ ๋ฒ์ AWK Alfred Aho, Peter๊ฐ ์ค๊ณํ๊ณ ๊ตฌํํ์ต๋๋ค.
Weinberger, Bell Laboratories์ Brian Kernighan. Brian Kernighan์ ๊ณ์ํด์
์ ์งํ๊ณ ํฅ์์ํต๋๋ค.
์์ ์ํํธ์จ์ด ์ฌ๋จ์ Paul Rubin๊ณผ Jay Fenlason์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค. ๋ํ ์ฌ๋, ํธํ ๊ฐ๋ฅ
์ ์ค๋ฆฌ์ง๋ ๋ฒ์ ์ผ๋ก AWK Seventh Edition UNIX์ ๋ฐฐํฌ๋์์ต๋๋ค. ์กด ์ฐ์ฆ
์ฌ๋ฌ ๋ฒ๊ทธ ์์ ์ ๊ธฐ์ฌํ์ต๋๋ค. David Trueman, Arnold Robbins์ ๊ณตํ,
๋ง๋ ๋ํ ์ฌ๋ ์ ๋ฒ์ ์ UNIX์ ํธํ AWK. ์๋๋ ๋ก๋น์ค๋ ํ์ฌ
์ ์ง ๋ณด์.
๋ง๋๋ค ๋ํ ์ฌ๋: ์ ํจํ AWK ํ๋ก๊ทธ๋จ ์์ฑ ๊ธฐ์ฌ์์ ์ ์ฒด ๋ชฉ๋ก์ ๋ํ ์ฌ๋ ๋ฐ ๊ทธ
์ ์ ์๋ฅ ๋น์น.
์ ์ฐธ์กฐ README ์ ํ์ผ์ ๋ํ ์ฌ๋ ๋ฉ์ธํ ์ด๋์ ๋ํ ์ต์ ์ ๋ณด ๋ฐฐํฌ
ํ์ฌ ์ง์๋๋ ํฌํธ.
๊ณค์ถฉ ๋ณด๊ณ ์
์์ ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ๋ํ ์ฌ๋, ๋ค์ ์ฃผ์๋ก ์ ์ ๋ฉ์ผ์ ๋ณด๋ด์ฃผ์ญ์์ค. [์ด๋ฉ์ผ ๋ณดํธ]. ์ฃผ์ญ์์ค
๊ทํ์ ์ด์ ์ฒด์ ์ ๊ฐ์ ํ, ๋ฒ์ ์ ํฌํจํ์ญ์์ค. ๋ํ ์ฌ๋ (์ ๋ํ ์ฌ๋ --๋ฒ์ญ),
์ปดํ์ผ์ ์ฌ์ฉํ C ์ปดํ์ผ๋ฌ, ํ ์คํธ ํ๋ก๊ทธ๋จ ๋ฐ ๋ฐ์ดํฐ
๋ฌธ์ ๋ฅผ ์ฌํํ ์ ์์ต๋๋ค.
๋ฒ๊ทธ ๋ฆฌํฌํธ๋ฅผ ๋ณด๋ด๊ธฐ ์ ์ ๋ค์์ ์ํํ์ญ์์ค. ๋จผ์ ๋ค์์ด ์๋์ง ํ์ธํฉ๋๋ค.
์ต์ ๋ฒ์ ๋ํ ์ฌ๋. ๋ง์ ๋ฒ๊ทธ(์ผ๋ฐ์ ์ผ๋ก ๋ฏธ๋ฌํ ๋ฒ๊ทธ)๋ ๊ฐ ๋ฆด๋ฆฌ์ค์์ ์์ ๋ฉ๋๋ค.
๊ทํ์ ๊ฒ์ด ์ค๋๋ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ์ด๋ฏธ ํด๊ฒฐ๋์์ ์ ์์ต๋๋ค. ๋์งธ, ์ฐธ์กฐํ์ญ์์ค
ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๋ ๊ฒฝ์ฐ LC_ALL ์ LC_ALL=C ์ฌ๋ฌผ์ด ๋น์ ์ฒ๋ผ ํ๋ํ๊ฒ ๋ง๋ญ๋๋ค.
์์ํ๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ก์ผ์ผ ๋ฌธ์ ์ด๋ฉฐ ๋ฒ๊ทธ์ผ ์๋ ์๊ณ ์๋ ์๋ ์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก, ์ ๋ฐ
์ด ๋งค๋ด์ผ ํ์ด์ง์ ์ฐธ์กฐ ์ค๋ช ์๋ฅผ ์ฃผ์ ๊น๊ฒ ์ฝ๊ณ ๋น์ ์ด ์๊ฐํ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅธ์ง ํ์ธํ์ญ์์ค.
๋ฒ๊ทธ๋ ์ค์ ๋ก ์ธ์ด์ ๋จ์ ์ด ์๋๋๋ค.
๋น์ ์ด ๋ฌด์์ ํ๋ ์ง ์์ต๋๋ค. ์ ๋ฒ๊ทธ ๋ณด๊ณ ์ ๊ฒ์ comp.lang.awk. ๋์ ๋ํ ์ฌ๋ ๊ฐ๋ฐ์
๋๋๋ก ์ด ๋ด์ค ๊ทธ๋ฃน์ ์ฝ๊ณ , ๋ฒ๊ทธ ๋ณด๊ณ ์๋ฅผ ๊ฒ์ํ๋ฉด ์ ๋ขฐํ ์ ์๋ ๋ณด๊ณ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๋ฒ๊ทธ. ๋์ ์์ ์ ๊ณต๋ ์ ์ ๋ฉ์ผ ์ฃผ์๋ฅผ ์ฌ์ฉํ์ญ์์ค. ์ ๋ง.
GNU/Linux ๋๋ BSD ๊ธฐ๋ฐ ์์คํ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ค์ ์ฃผ์๋ก ๋ฒ๊ทธ ๋ณด๊ณ ์๋ฅผ ์ ์ถํ ์ ์์ต๋๋ค.
๋ฐฐํฌํ ๊ณต๊ธ์ ์ฒด. ๊ด์ฐฎ์ต๋๋ค. ํ์ง๋ง ๊ณต์ ๋ด๋น์์๊ฒ ์ฌ๋ณธ์ ๋ณด๋ด์ฃผ์ธ์.
๋ฒ๊ทธ ๋ณด๊ณ ์๊ฐ ๋ค์ ์ฃผ์๋ก ์ ๋ฌ๋๋ค๋ ๋ณด์ฅ์ด ์๊ธฐ ๋๋ฌธ์ ์ด๋ฉ์ผ ์ฃผ์๋
์ ์, ๋ํ ์ฌ๋ ์ ์ง ๋ณด์.
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ gawk ์จ๋ผ์ธ ์ฌ์ฉ