ලිනක්ස් විධාන - ඉගෙන ගන්න

නම

gawk - රටා ස්කෑන් කිරීම සහ සැකසුම් භාෂාව

සාරාංශය

gawk [POSIX හෝ GNU style විකල්ප] -f- ගොනු-ගොනු [ - ] ගොනුව ...
gawk [POSIX හෝ GNU style options] [ - ] program-text ගොනුව ...

pgawk [POSIX හෝ GNU විලාසය] -f- ගොනු-ගොනු [ - ] ගොනුව ...
pgawk [POSIX හෝ GNU style options] [ - ] program-text ගොනුව ...

විස්තර

Gawk යනු GNU ව්යාපෘතියේ AWK වැඩසටහන් භාෂාවේ ක්රියාත්මක කිරීමයි. POSIX 1003.2 විධානයේ භාෂාව සහ උපයෝගිතා ප්රමිතිය තුළ භාෂා අර්ථ දැක්වීම අනුකූල වේ. මෙම අනුවාදය අනුව, Aho, Kernighan, සහ Weinberger විසින් AWK Programming භාෂාවේ විස්තරය මත පදනම්ව, UNIX awk System V Release 4 අනුවාදයේ ඇති අතිරේක ලක්ෂණ සමඟින් පදනම් වේ. Gawk විසින් මෑත කාලීන Bell Labaratories awk දිගුවන් සහ GNU- විශේෂිත දිගු ගණනාවක් සපයයි.

Pawak යනු gawk හි පැතිකඩ පැතිකඩයි . එය gawk සඳහා සෑම ආකාරයකින්ම සමාන වේ. එම වැඩසටහන් වඩා සෙමින් ධාවනය වන අතර, එය ස්වයංක්රීයව සිදු කරන ලද ගොනුව awkprof.out තුල ක්රියාත්මක වේ. පහත දැක්වෙන --profile විකල්පය බලන්න.

විධාන රේඛාව gawk සඳහාම විකල්පයන් වන AWK වැඩසටහනේ පෙළ (නම් -f හෝ --file විකල්ප මගින් සපයනු නොලැබේ නම්) සහ ARGC සහ ARGV පූර්ව නිශ්චිත AWK විචල්යයන් තුල ලබා ගත හැකි අගයන් වේ.

විකල්ප ආකෘතිය

Gawk විකල්පයන් සාම්ප්රදායික POSIX එක අකුරු විකල්පයන් විය හැකිය, හෝ GNU style දිගු විකල්පයන් විය හැක. POSIX විකල්පයන් තනි `` - '' සමඟ ඇරඹෙන අතර දීර්ඝ විකල්පයන් `` - '' සමඟ ආරම්භ වේ. GNU-විශේෂිත ලක්ෂණ දෙකම සහ POSIX-mandated ලක්ෂණ සඳහා දිගු විකල්ප සපයනු ලැබේ.

POSIX සම්මතයෙන් පසුව, gwk-විශේෂිත විකල්පයන් -W විකල්පයට තර්ක මඟින් සපයනු ලැබේ. බහු- වි විකල්පයන් සැපයිය හැකිය සෑම -W විකල්පයක්ම පහත විස්තර කර ඇති ආකාරයට අනුරූප දිගු විකල්පය ඇත. දිගු විකල්පය සඳහා තර්ක එක් = ලකුණක් සමඟ විකල්පයක් සමඟ සම්බන්ධ වී, මැදිහත් නොකෙරෙන අවකාශයකින් තොරව, හෝ ඊළඟ විධාන රේඛාවේ තර්කය තුල සැපයිය හැක. කෙටි යෙදුම අද්විතීය වන තෙක් දිගු විකල්පයන් කෙටි විය හැක.

විකල්ප

පහත අක්ෂරවලින් Gawk අනුපිළිවෙළින් ලැයිස්තුගත කර ඇත.

-F fs

--field-separator fs ආදාන ක්ෂේත්රයේ බෙදුම්කරු සඳහා fs භාවිතා කරන්න ( FS පෙර අර්ථදක්වා ඇති විචල්යයේ අගය).

-v var = val

--assign var = val වැඩසටහනේ ක්රියාත්මක වීම ආරම්භ කිරීමට පෙර variable value var අගයට පැවරීම. එවැනි විචල්ය අගයන් AWK වැඩසටහනේ BEGIN කොටස සඳහා ලබා ගත හැකිය.

-f වැඩසටහන-ගොනුව

- ගොනු වැඩසටහන් ගොනුව AWK වැඩසටහනේ මූලාශ්රය ගොනු වැඩසටහනේ ගොනුව තුලින් කියවිය යුතුය, පළමු විධාන රේඛාවේ තර්කය වෙතින් නොවේ. බහු- (හෝ - ගොනු ) විකල්පයන් භාවිතා කළ හැකිය.

-එම්එන්එන්

-mn NNN අගය NNN අගය සඳහා විවිධ මතක සීමාවන් සකසන්න. F ධජය උපරිම ක්ෂේත්ර ගණනක් සකසයි, සහ r ධජය උපරිම වාර්තාගත ප්රමාණය තීරණය කරයි. මෙම ධජ දෙක සහ -m විකල්පය එක්සත් ජනපදයේ බෙල් රසායනාගාර පර්යේෂණාත්මක අනුවාදය වේ. Gawk විසින් පූර්ව නිශ්චිත සීමාවන් නොමැත.

W අනුග්රහයෙනි

සාම්ප්රදායික

- සංයුක්තය

- සාම්ප්රදායික අනුකූලතා ප්රකාරයේ ධාවනය කරන්න. ගැලක් ප්රකාරය තුළ, gawk UNIX awk සමග සමාන ලෙස හැසිරෙයි; GNU-විශේෂිත දිගු කිසිවක් හඳුනා නැත. මෙම විකල්පය වෙනත් ආකාරවලට වඩා - පාරම්පරික භාවිත කිරීමකි. වැඩි විස්තර සඳහා GNU EXTENSIONS බලන්න.

පිටපතක්

-W ප්රකාශන හිමිකම්

- කොපි කිරීම

--copyright සම්මත නිමැවුමේ GNU ප්රකාශන හිමිකම් පණිවිඩයේ කෙටි පිටපත මුද්රණය කර සාර්ථකව පිටවීම.

-W ඩම්ප්-විචල්යයන් [ = ගොනුව ]

--dump-variables [ = file ] ගෝලීය විචල්යයන්, ඒවායේ වර්ග සහ අවසන් අගයන් ගොනුවට එක් කරන්න . ගොනුවක් ලබා නොදෙන්නේ නම්, gawk වත්මන් ඩිරෙක්ටරිය ලෙස නම් කරන ලද awkvars.out ගොනුවක් භාවිතා කරයි.

ඔබගේ ගෝලීය විචල්යයන් ලැයිස්තුවක් සහිත ලැයිස්තුවක් ඔබේ වැඩසටහන් වල මුද්රණ දෝෂ සොයා ගැනීම සඳහා හොඳ ක්රමයකි. ඔබ විශාල කාර්යයන් රාශියක් සහිතව විශාල වැඩසටහනක් ලබා ගත්තොත්, ඔබ මෙම විකල්පය භාවිතා කරනු ඇත, ඔබ ඔබගේ කාර්යයන් දේශීයව අනිවාර්යයෙන්ම භාවිතා කිරීමට අදහස් කරන ගෝලීය විචල්යයන් අනවශ්ය ලෙස භාවිතා නොකරනු ඇති බවට වග බලා ගන්න. (මෙය, සරල විචල්ය නාමයන් සමඟ සිදු කිරීමට විශේෂිත පහසු වැරැද්දකි, i , j , සහ යනාදි).

- උදව් කරන්න

-W භාවිතය

--උදව්

--usage සම්මත නිමැවුමේ ඇති විකල්පයන් සාපේක්ෂව කෙටියෙන් සාරාංශගත කරන්න. ( GNU Coding ප්රමිති අනුව , මෙම විකල්පයන් ක්ෂණික, සාර්ථක පිටවීමක් ඇති කරයි.)

- වෝල්ට් [ මාරාන්තික ]

--lint [ = මාරාන්තික ] වෙනත් ඩබ්ලිව්ඒඩබ්ලිව්ස් ක්රියාත්මක කිරීම සඳහා සැකසහිත හෝ නොකළ හැකි නිර්මාණ ගැන අනතුරු ඇඟවීම් සපයන්න. මාරාන්තික තර්කයක් සහිත ලින්ඞ් අනතුරු ඇඟවීම් මාරක වැරදි බවට පත්වේ. මෙය ඉතා දරුණු විය හැකි නමුත්, එය භාවිතා කිරීම පිරිසිදු AWK වැඩ සටහන් සංවර්ධනය කිරීම දිරිමත් කරනු ඇත.

-මම වයසේ ඉන්නවා

- ලින්ක්-පැරණි UNIX හි මුල් පිටපතට ගෙන යා නොහැකි තැනක ඇති අනතුරු ඇඟවීම්.

- ජෙන්-ප

--gen-po ස්කෑන් සහ AWK වැඩසටහන සමාලෝචනය කරන්න, සහ සම්මත නිමැවුම් මත GNU .po ආකෘති ගොනුව උත්පාදනය කරන්න. වැඩසටහනම ක්රියාත්මක නොවේ. .po ගොනු සඳහා වැඩි විස්තර සඳහා GNU gettext බෙදාහැරීම බලන්න.

- දශම නොවන දත්තයන්

--non-දශම-දත්ත ආදාන දත්තවල අෂ්ටාශ්ර හා හෙක්ටයාරමික අගයන් හඳුනා ගනිමු . මෙම විකල්පය ඉතා සුපරීක්ෂාකාරීව භාවිතා කරන්න!

- පොස්ක්

--posix මෙම පහත සඳහන් අතිරේක සීමාවන් සහිතව අනුකූල කිරීමේ මාතය මත හැරෙයි:

*

අනුපිළිවෙලවල් ඉවත් කිරීම පිළිගනු නොලැබේ.

*

FS එක තනි ඉඩක තබා ඇති විට, ක්ෂේත්රයේ බෙදුම්කරුවන් ලෙස පමණක් ඉඩ සහ ටැබය ක්රියා කරයි.

*

ඔබට පසු මාර්ගයන් ඉදිරියට කරගෙන යා නොහැකිය ? සහ :.

*

මූල පදය සඳහා සයිනොමෝනික් ෆන්ක් හඳුනාගත නොහැකිය.

*

ක්රියාකරුවන් ** සහ ** = ^ සහ ^ = වෙනුවට භාවිතා කළ නොහැක.

*

Fflush () ශ්රිතයක් නොමැත.

-W profile [ = prof_file ]

--profile [ = prof_file ] profiling data to prof_file වෙත යවන්න . ප්රකෘති වන්නේ awkprof.out . Gawk සමග ධාවනය වන විට, මෙම පැතිකඩ වැඩසටහනේ "ලස්සන මුද්රිත" වැඩසටහනකි. Pgawk සමඟ ධාවනය වන විට, වමේ ආන්තිකයේ වැඩසටහනේ එක් එක් ප්රකාශනයේ ක්රියාත්මක කිරීමේ ගණන් කිරීම් එක් එක් පරිශීලකයින් විසින් අර්ථ දක්වන ලද ශ්රිතය සඳහා ක්රියාකාරී ඇමතුම් ගණනය කරයි.

- නැවත නැවතත්

--re-interval සාමාන්ය ප්රකාශනයේ ගැළපීමේ අනුමැදුම් ප්රකාශයන් භාවිතා කරන්න (පහත දැක්වෙන Regular Expressions බලන්න). AWK භාෂාවෙහි සම්ප්රදායිකව ලබා ගත හැකි ප්රකාශන ප්රකාශන පරම්පරාගත නොවූහ. POSIX සම්මතය ඔවුන් එකිනෙකා සමග අශෝභන සහ ඊ.පී.ඞී. කෙසේ වෙතත්, ඔවුන්ගේ භාවිතය පැරණි AWK වැඩසටහන් බිඳ දැමීමට ඉඩ ඇත, එම නිසා gawk විසින් මෙම විකල්පය සමඟ ඉල්ලීමක් කරන්නේ නම් හෝ --posix නියම කර ඇත.

-W මූල වැඩසටහන-පෙළ

--source program-text AWK වැඩසටහන මූල කේතය ලෙස වැඩසටහන්-පෙළ භාවිතා කරන්න. මෙම විකල්පය මඟින් විස්තීර්ණ කේතය තුල විධාන රේඛාව තුලට ඇතුළු කළ හැකි පුස්තකාල ශ්රිත ( easy-interference -f සහ -file options) භාවිතා කරයි. මෙය මූලිකවම ෂෙල් අක්ෂර වින්යාසය සඳහා භාවිතා කරන මධ්යම සහ විශාල AWK වැඩසටහන් සඳහා මූලික වේ.

W අනුවාදය

--version සම්මත නිමැවුම් මත මෙම සුවිශේෂී පිටපත සඳහා මුද්රිත අනුවාද තොරතුරු. නිදහස් මෘදුකාංග පදනම පදනම කුමක් වුවද ඔබගේ පද්ධතියේ වර්තමාන පිටපතෙහි gawk වර්තමාන පිටපත යාවත්කාලීන කර ඇත්දැයි දැනගැනීම ප්රධාන වශයෙන් ප්රයෝජනවත් වේ. දෝෂ වාර්තා කිරීමේදී මෙය ප්රයෝජනවත් වේ. ( GNU Coding ප්රමිති අනුව , මෙම විකල්පයන් ක්ෂණික, සාර්ථක පිටවීමක් ඇති කරයි.)

- විකල්පයන් අවසන් කරන්න. AWK වැඩසටහනට එය තවදුරටත් `` - '' සමඟ ආරම්භ කිරීම සඳහා තවදුරටත් තර්ක කිරීමට මෙය ප්රයෝජනවත් වේ. මෙය ප්රධාන වශයෙන් බොහෝ අනෙකුත් POSIX වැඩසටහන් භාවිතා කරනු ලබන සම්මුතියේ විචල්යතාව සමග අනුකූලතාව සඳහා මෙය ප්රධාන වශයෙන් අනුකූල වේ.

ගැලපුම් ආකාරයේ වෙනත් විකල්පයන් සාවද්ය ලෙස සලකුණු කර ඇත, නමුත් වෙනත් ආකාරයකින් නොසලකා හරිනු ලැබේ. සාමාන්ය ක්රියාවලියේ දී, වැඩසටහන් පෙළ ලබා දී ඇති තාක් කල්, සැකසුම් සඳහා ARGV අරාවෙහි AWK වැඩසටහන AWP වැඩසටහන වෙත නොදන්වා විකල්ප ලබා දී ඇත. මෙය '' #! '' ක්රියාත්මක කළ හැකි භාෂණ පරිවර්තක යාන්ත්රණය හරහා AWK වැඩසටහන් ක්රියාත්මක කිරීම සඳහා විශේෂයෙන් ප්රයෝජනවත් වේ.

AWK වැඩසටහන ක්රියාත්මක කිරීම

AWK වැඩසටහන සමන්විත වන්නේ රටා-ක්රියා ප්රකාශ සහ අනුපිළිවෙල අර්ථ නිරූපණයෙහි අනුපිළිවෙලකි.

රටාව { ක්රියා ප්රකාශයන් }

ශ්රිතය නම ( පරාමිති ලැයිස්තුව ) { ප්රකාශයන් }

Gawk විසින් වැඩසටහන- මූලාශ්රය (source) කියවන්නේ නම්, විශේෂයෙන් නම්, පරාමිති සිට --source වෙතට හෝ විධාන රේඛාවේ පළමු නොවන විකල්ප argument වෙතින් ගොනුවක් කියවනු ලැබේ. -f සහ -source විකල්ප විධාන රේඛාවේ කිහිප වතාවක් භාවිතා කළ හැක. Gawk ක්රමලේඛ පෙළ පෙළ කියවිය යුත්තේ සියලු program-files s සහ විධාන රේඛා මූලාශ්ර පෙළ එකට ඒකාබද්ධ කර තිබීමයි. එය භාවිතා කරන සෑම නව AWK වැඩසටහනකටම ඒවා ඇතුළත් කිරීමකින් තොරව AWK කාර්යයන් පුස්තකාල ගොඩනැංවීම සඳහා මෙය ප්රයෝජනවත් වේ. විධාන පුවරු වැඩසටහන් සමඟ පුස්තකාල ශ්රිතයන් මිශ්ර කිරීමේ හැකියාව ද සපයයි.

පාරිසරික විචල්යය AWKPATH විසින් -f විකල්පය සමඟ මූලාශ්ර ගොනු සොයා ගැනීම සඳහා භාවිතා කරන සෙවුම් මාර්ගය නියම කරයි. මෙම විචල්යය නොපවතියි නම්, පෙරනිමි මාර්ගය ".: / Usr / local / share / awk" . (සැබෑ බහලුම වෙනස් විය හැක, gawk නිර්මාණය සහ ස්ථාපනය කරන ආකාරය මත පදනම්ව.) -f විකල්පය සඳහා ලබාදෙන ගොනු නාමයක් නම් `` / '' අක්ෂරයක් අඩංගු වන අතර, මාර්ග සමීක්ෂණයක් සිදු නොකෙරේ .

ග්වක් පහත දැක්වෙන අනුපිළිවෙල අනුව AWK වැඩසටහන් ක්රියාත්මක කරයි. පළමුව, -v විකල්පය මඟින් නිශ්චිතව දක්වා ඇති සියලු විචල්ය පැවරුම් සිදු කරනු ලැබේ. මීලඟට, මෙම වැඩසටහන අභ්යන්තර වැඩසටහනක් බවට පරිවර්තනය කරයි. එවිට, gawk BEGIN බ්ලොක් (s) හි කේතය ක්රියාත්මක කරයි, ඉන්පසු ARGV අරාව තුල ඇති එක් එක් ගොනු කියවීමට ඉදිරියට යයි. විධාන රේඛාවේ නම් ගොනු නොමැත නම්, gawk සම්මත ආදානය කියවිය යුතුය.

විධාන රේඛාවේ ඇති ගොනු නාමයේ නම var = val එය විචල්ය පැවරුම් ලෙස සලකනු ලැබේ. විචල්ය var අගය අගය val . (මෙය BEGIN බ්ලොක් ( e ) ක්රියාත්මක වූ පසු මෙය සිදු වී ඇත.) ආදාන රේඛා විචල්ය පැවරුම වඩාත් ප්රයෝජනවත් වන අතර, ආන්තරික ක්ෂේත්රයන් හා වාර්තා වලට කඩා වැටෙන ආකාරය පාලනය කිරීමට AWK භාවිතා කරයි. තනි දත්ත ගොනුවක් හරහා බහු පේළි අවශ්ය වුවහොත් එය පාලනය කිරීම සඳහා එය ප්රයෝජනවත් වේ.

ARGV හි විශේෂිත මූලද්රව්යයක් හිස් ( "" ) හිස් නම්, එය උඩු යටිකුරු නොකෙරේ .

ආදානයේ එක් එක් වාර්තාව සඳහා, AWK වැඩසටහනේ ඕනෑම රටාවක් අනුපිළිවෙලට අනුකූලදැයි බැලීමට gawk පරීක්ෂණ. වාර්තා ගවේෂණය කරන එක් එක් රටාව සඳහා, ආශ්රිත ක්රියාව ක්රියාත්මක වේ. වැඩසටහනේ දී ඇති වූ පිළිවෙළ අනුව මෙම රටාවන් පරීක්ෂා කරනු ලැබේ.

අවසාන වශයෙන්, සියලු ආදානය අවසන් වූ පසු, gawk END බ්ලොක් (s) තුළ කේතය ක්රියාත්මක කරයි (යම් නම්).

විචල්යයන්, වාර්තා සහ ක්ෂේත්ර

AWK විචල්යයන් ගතිකය; ඒවා මුලින්ම භාවිතා කරන විට ඔවුන් ජීවත්වේ. ඔවුන්ගේ අගයයන් වන්නේ පාවෙන ලක්ෂ්යයන් හෝ නූල් හෝ ඒවා භාවිතා කරන ආකාරය අනුව ය. ඒඩබ්ලිව්එකේ ද එක් මාදිලියේ අත්රයක් ඇත; විවිධ මානයන් සමඟ අරා ආකෘතිගත කළ හැක. පෙර නියත විචල්ය ගණනාවක් වැඩසටහන් ක්රියාමාර්ගයක් ලෙස සකසා ඇත; ඒවා අවශ්ය පරිදි විස්තර කර ඇත.

වාර්තා

සාමාන්යයෙන්, වාර්තා නවීන් අක්ෂර වලින් වෙන් කරනු ලැබේ. සංයුක්ත විපර්යාස ආර්එස් එකට අගයන් ප්රදානය කිරීම මගින් වාර්තා වෙන් කරගන්නේ කෙසේදැයි පාලනය කළ හැකිය. ආර්එස් එක තනි චරිතයක් නම්, එම චරිතය වාර්තා වෙන් කරයි. එසේ නොමැති නම් ආර්එස් නිතිපතා ප්රකාශනයකි. මෙම නිරන්තර ප්රකාශනය සමඟ ගැලපෙන යෙදැවුම් පෙළ වාර්තා කරයි. කෙසේ වෙතත්, අනුකූලතා මාදිලියේදී, එහි කේතන අගයෙහි පළමු අක්ෂරය වාර්තා වෙන් කිරීම සඳහා භාවිතා කරයි. ආර්එස් එක අන්තරායකට අනුව නම්, වාර්තා හිස් කොලවලින් වෙන් කරනු ලැබේ. RS රේඛාව null string දක්වා ඇති විට, නවී්රතා අක්ෂර සෑම විටම ක්ෂේත්රයේ බෙදුම්කරු ලෙස ක්රියා කරයි.

ක්ෂේත්ර

එක් එක් ආදාන වාර්තාව කියවන විට, gawk ක්ෂේත්රයේ වාර්ථාව බෙදී යයි, FS විචල්යයේ අගය ක්ෂේත්ර බෙදුම්කරු ලෙස භාවිතා කරයි. FS එක් අක්ෂරයක් නම්, ක්ෂේත්ර විසින් එම අක්ෂරයෙන් වෙන් කරනු ලැබේ. FS යනු null string නම් නම්, එක් එක් අක්ෂරය වෙනම ක්ෂේත්රයක් බවට පත්වේ. එසේ නොමැතිනම්, FS සම්පූර්ණයෙන්ම සම්පන්න ප්රකාශනයක් වනු ඇතැයි අපේක්ෂා කෙරේ. FS එක තනි ඉඩක් සහිත විශේෂ අවස්ථාවක් ලෙස, ක්ෂේත්රවල අවකාශය සහ / හෝ ටැබ් සහ / හෝ නව පේළිය මඟින් වෙන් කරනු ලැබේ. (එහෙත් පහත දැක්වෙන විස්තර - බලන්න). සටහන: IGNORECASE අගය (පහත බලන්න) FS නිසි ප්රකාශයක් වන විට ක්ෂේත්ර වෙන් වී තිබේද යන්නත් , ආර්එස් නිතිපතා ප්රකාශනයක් වන විට වාර්තා වෙන් කරනු ලැබේ.

FIELDWIDTHS විචල්යය සංඛ්යාතයෙන් වෙන් වූ ලැයිස්තුවක ලැයිස්තුවක් සකසා ඇත්නම්, එක් එක් ක්ෂේත්රයේ නිශ්චිත පළලක් අපේක්ෂා කළ යුතු අතර, නියම රාමුව භාවිතා කිරීමෙන් උඩුගත කර ඇත. FS වල අගය නොසලකා හැර ඇත. FS සඳහා නව අගයක් පැවරීම FIELDWIDTHS භාවිතය අවලංගු කර පෙරනිමි හැසිරීම ප්රතිස්ථාපනය කරයි.

ආදාන වාර්තාවේ සෑම ක්ෂේත්රයක්ම, එහි පිහිටුම, $ 1 , $ 2 සහ වෙනත් ය. $ 0 යනු මුළු වාර්තාවයි. ක්ෂේත්රයේ නියතයන් විසින් ක්ෂේත්රයන් යොමු නොකළ යුතුය.

n = 5
මුද්රණය $ n

ආදාන වාර්තාවේ පස්වන ක්ෂේත්රය මුද්රණය කරයි.

විචල්ය NF ආදාන වාර්තාවේ මුළු ක්ෂේත්ර ගණනට සකසා ඇත.

නොපවතින ක්ෂේත්ර වලට යොමු ( $ NF පසු ක්ෂේත්ර) null-string ඉදිරිපත් කරයි. කෙසේ වෙතත්, නොපවතින ක්ෂේත්රයකට (උදා., $ (NF + 2) = 5 ) NF හි අගය වැඩි කරයි, එහි අගය ලෙස null string සමඟ ඕනෑම මැදිහත්වීම් ක්ෂේත්රයක් නිර්මාණය කරයි, සහ $ 0 අගය නැවත ගණනය කිරීමට හේතු වේ. ක්ෂේත්රයේ වටිනාකම වෙන් කර ඇත. ඍණ අංකිත ක්ෂේත්ර වෙත යොමු කිරීම මාරක දෝෂයක් ඇති කරයි. NF අඩුවීම නව අගය පසුකර යන ක්ෂේත්රවල අගයන් හේතු කොට ගෙන, පරාමිතිය නැවත සැකසීම සඳහා ඩොලර් 0 ක් යෙදවිය යුතු අතර ක්ෂේත්රයේ පරාමිතීන් අගය සැලකිල්ලට ගනී.

දැනට පවත්නා ක්ෂේත්රයකට වටිනාකමක් ලබා දීම හේතුකොටගෙන $ 0 යොමු කරන විට සම්පූර්ණ වාර්තාව නැවත සාදා ඇත. එලෙසම, $ 0 ට වටිනාකමක් ලබා දීම හේතු කොට ගෙන එම වාර්තාව නැවත ප්රවේසම් කිරීමට හේතු වන අතර ක්ෂේත්ර සඳහා නව අගයන් නිර්මාණය කරයි.

නිර්මිත විචල්යයන්

Gawk ගේ නිර්මිත විචල්යයන් වන්නේ:

ARGC

විධාන රේඛා තර්ක ගණන ( gawk විකල්ප හෝ program source) ඇතුලත් නොවේ.

ආර්ජින්ඩ්

වර්තමාන ගොනුවේ ARGV හි දර්ශකය සකසා ඇත.

ARGV

විධාන රේඛා තර්ක විධාන. අරාව 0 සිට ARGC සිට දර්ශනය කර ඇත - 1. ARGV හි අන්තර්ගතයන් ගතිකව වෙනස් කිරීම දත්ත සඳහා භාවිතා කරන ගොනු පාලනය කළ හැකිය.

BINMODE

නොවන POSIX පද්ධති මත, සියලුම ගොනු I / O සඳහා `` ද්විමය '' හැසිරීම භාවිතා කරයි. 1, 2, හෝ 3 හි සංඛ්යාත්මක අගයන්, ආදාන ගොනු, ප්රතිදාන ගොනු හෝ සියලු ගොනු පිළිවෙලින් ද්විමය I / O භාවිතා කළ යුතුය. "R" හෝ "w" වල String අගයයන්, ආදාන ගොනු, හෝ ප්රතිදාන ගොනු පිළිවෙලින් ද්විමය I / O භාවිතා කළ යුතුය. "Rw" හෝ "wr" වල String අගයයන් සියළු ගොනු ද්විමය I / O භාවිතා කළ යුතුය. වෙනත් කේතන අගය "rw" ලෙස සලකනු ලැබේ, නමුත් අනතුරු ඇඟවීමේ පණිවිඩයක් උත්පාදනය කරයි.

CONVFMT

ප්රකෘති ආකෘති අනුව අංකන පරිවර්තන ආකෘතිය "% .6g" .

ENVIRON

වත්මන් පරිසරයේ අගයන් සහිත අරාව. අරාකය පාරිසරික විචල්ය මගින් සුචිගත කර ඇති අතර, සෑම මූලද්රව්යයක්ම එම විචල්යයේ අගය (උදා., ENVIRON ["HOME"] විය හැකිය / home / arnold විය හැක). මෙම අරාව වෙනස් කිරීම Redirection මගින් හෝ පද්ධතිය () ශ්රිතය මගින් ගස් කපා ගන්නා ලද වැඩසටහන් මගින් දැක ගත හැකි පරිසරයට බලපාන්නේ නැත.

ERRNO

පද්ධතියේ දෝෂයක් හට ගත්තොත් , greetline සඳහා redirection කරන්නේ, greetings for read , හෝ close () අතරතුරේදී , ERRNO දෝෂය විස්තර කරන string එකක් අඩංගු වේ. ඉංග්රීසි නොවන ඉංග්රීසි භාෂාවෙන් පරිවර්තනය කිරීමේ වටිනාකමට අදාල වේ.

FIELDWIDTHS

සුදු-අවකාශය ක්ෂේත්ර ක්ෂේත්රයේ ලැයිස්තුවක් වෙන් කර ඇත. සැකසූ විට, gawk ස්ථාවර පළල ක්ෂේත්ර වලට ආදාන විබෙදුම , FS විචල්යයේ අගය ක්ෂේත්ර බෙදුම්කරු ලෙස භාවිතා කිරීම වෙනුවට.

ගොනුවේ නම

වත්මන් ආදාන ගොනුවේ නම. විධාන රේඛාවේ කිසිදු ගොනු විශේෂිත නොවේ නම් FILENAME අගය `` - ''. කෙසේ වෙතත් FILENAME BEGIN කොටස තුළ නිර්වචනය කර ඇත ( greetings by set unless ).

FNR

වත්මන් ආදාන ගොනුවේ ආදානය වාර්තාගත අංකය.

FS

ආදාන ක්ෂේත්ර බෙදුම්කරු, පෙරනිමිය වන ඉඩක්. ක්ෂේත්රයන් බලන්න.

IGNORECASE

සියලු විධිමත් ප්රකාශ සහ string මෙහෙයුම්වල සිද්ධි සංවේදීතාව පාලනය කරයි. IGNORECASE සතුව ශුන්ය අගයක් නොමැති නම්, අනුපිළිවෙලවල් සමඟ සංසන්දනය සහ රටා ගැලපීම, FS සමග ක්ෂේත්ර භේදය , ආර්එස් සමග වෙන්වීම වාර්තා කිරීම, ~ ~ !!! හා gensub () , gsub () , index () , match () , split () සහ sub () යන ශ්රිතයන් නිරන්තරයෙන් ප්රකාශ කිරීමේ ක්රියාවලිය සිදුකරන විට ඒවා නොසලකා හැරිය හැක. සටහන: අක්ෂර ග්රාහකත්වයට බලපෑමක් නැත, හෝ අසෝට් () ශ්රිතය.

එබැවින්, IGNORECASE ශුන්යයට සමාන නොවේ නම්, / aB / සියලුම අක්ෂරවල "ab" , "aB" , "Ab" සහ "AB" ට ගැලපේ. සියලු AWK විචල්යයන් මෙන්, IGNORECASE හි ආරම්භක අගය ශූන්ය වේ, එබැවින් සාමාන්ය ප්රකාශ සහ string මෙහෙයුම් සාමාන්යයෙන් අකුරු සංවේදී වේ. Unix යටතේ, නොසලකා හැරීම සඳහා පූර්ණ ISO 8859-1 ලතින්-1 අක්ෂර කට්ටලය භාවිතා වේ.

ලින්ට්

AWK වැඩසටහන තුළ -lint විකල්පයක් ගතිකව පාලනය කරයි. සත්ය වූ විට, gawk lint අනතුරු ඇඟවීම් මුද්රණය කරයි. අසත්ය වන විට එය එසේ නොවේ. " අගය මාරාන්තික" යනුවෙන් නම් කරන ලද විට , ලින්ඩ් අනතුරු ඇඟවීම් මාරක වැරදි බවට පත්වේ, එනම් --lint = මාරාන්තික ය . වෙනත් සැබෑ වටිනාකමක් මගින් අනතුරු ඇඟවීම් මුද්රණය කරයි.

එෆ්එෆ්

වත්මන් ආදාන වාර්තාවෙහි ඇති ක්ෂේත්ර ගණන.

එන්

මෙතෙක් දැක ඇති මුළු ආදාන වාර්තා සංඛ්යාව.

ඔෆ්ටීඑම්ටී

සංඛ්යා සඳහා ප්රතිදාන ආකෘතිය, "% .6g" පෙරනිමියෙන්.

ආර්එස්එස්

නිමැවුම් ක්ෂේත්රයේ බෙදුම්කරු, පෙරනිමිය ලෙස අවකාශය.

ORS

නිමැවුම් වාර්තා separator, පෙරනිමියෙන් නව පේළියකි.

PROCINFO

මෙම අකාරයේ මූලද්රව්ය ක්රියාත්මක වන AWK වැඩසටහන පිළිබඳ තොරතුරු වෙත ප්රවේශය ලබා දේ. ඇතැම් පද්ධතිවල, සමහර n වල සඳහා "group n " හරහා array තුල ඇති මූලද්රව්යවල මූලද්රව්ය තිබිය හැක, මෙම ක්රියාවලිය ඇති පරිපූරක කන්ඩායම් සංඛ්යාව වේ. මෙම මූලද්රව්ය පරීක්ෂා කිරීමට ක්රියාකරු භාවිතා කරන්න. පහත සඳහන් අංග ලබා ගත හැකි ය:

PROCINFO ["egid"]

getegid (2) පද්ධති ඇමතුම් වල අගය.

PROCINFO ["euid"]

පද්ධති ඇමතුමේ වටිනාකම (2).

PROCINFO ["FS"]

"FS" FS සමඟ ක්ෂේත්ර භේදනය ක්රියාත්මක වේ නම් හෝ FIELDWIDTHS සමඟ ක්ෂේත්රයේ බෙදී යාමේ දී "FIELDWIDTHS" ක්රියාත්මක වේ.

PROCINFO ["ගයිඩ්"]

getgid (2) පද්ධති ඇමතුම් වල අගය.

PROCINFO ["pgrpid"]

වත්මන් ක්රියාවලියේ ක්රියාවලි කණ්ඩායම් හඳුනාගැනීමේ අංකය.

PROCINFO ["pid"]

වත්මන් ක්රියාවලියේ ක්රියාවලිය හැඳුනුම් අංකය.

PROCINFO ["ppid"]

වත්මන් ක්රියාවලියේ මාපිය ක්රියාවලිය

PROCINFO ["uid"]

පද්ධතියේ ඇමතුම් (2) පද්ධතියේ වටිනාකම.

රුපියල්

ආදාන වාර්තා වෙන්කිරීමේ පෙරදනය, පෙරනිමියෙන් නව පේළියකි.

RT

වාර්තාගත අවසන් ය. Gawk විසින් ආර්එස් මගින් නියම කරන ලද චරිතය හෝ නිතිපතා ප්රකාශනයන්ට අනුරූප වූ ආදාන පෙළ සඳහා RT .

RSTART

Match () විසින් පළමු අක්ෂරය දර්ශකය () ; 0 නොගැලපේ නම්. (මෙයින් අදහස් කරන්නේ චරිත දර්ශක එක් ආරම්භක බවය).

වැකි

Match (match) විසින් අනුපූරකයේ දිග (දිග ) ; -1 නොගැලපේ නම්.

SUBSEP

ප්රකෘති "\ 034" පෙරනිමියෙන්, අක්ෂර මූලද්රව්ය ගණනක අනුපිටපත් වෙන් කිරීම සඳහා භාවිතා කල අක්ෂරය.

ටෙක්ස්ටොන්ඩොයින්

AWK වැඩසටහනේ පෙළ වසම; වැඩසටහනේ කෙඳි සඳහා දේශීයකරණය කළ පරිවර්තන සොයා ගැනීමට භාවිතා කරන ලදි.

ආරේස්

අරයිස්, කොටු වරහන් ( [ සහ ] ) අතර ප්රකාශනයක් ඇතුළත් කර ඇත. ප්රකාශනය යනු ප්රකාශ ලැයිස්තුවක් ( expr , expr ...) නම් අරා ඉන්ග්පිටෝස් යනු SUBSEP විචල්යයේ අගය අනුව වෙන් කරන ලද එක් එක් ප්රකාශනයේ (ශ්රේණි) අගය සංකේතනය වීමකි . මෙම පහසුකම බහු පරිමාණ අනුපිලිවෙලට අනුරූප නිර්මාණය කිරීමට භාවිතා වේ. උදාහරණයක් වශයෙන්:

i = "A"; j = "B"; k = "C"
x [i, j, k] = "hello, world \ n"

string "A \ 034B \ 034C" ශ්රේණිය මඟින් ශ්රේණිගත කරන ලද අරාවෙහි මූලද්රව්යයට "හිලො , ලෝක \ n" යනුවෙන් දැක්වේ . AWK වල සියලුම අරාබි සංයුක්ත වේ, එනම්, ශ්රේණි අගයන් අනුව සුචිගත කර ඇත.

අරාවට විශේෂිත වටිනාකමකින් යුත් දර්ශකය සතුව තිබේ නම්, විශේෂිත ක්රියාකරුවකු කිසියම් හෝ වේලාවක ප්රකාශයක් භාවිතා කළ හැකිය.

මුද්රණ අරාව (val) නම් (val in array)

අරාව සතුව එක් එක් අකුරක් තිබේ නම්, array (i, j) භාවිතා කරන්න.

ආකෘතියේ ඇති සෑම මූලද්රව්යයක් සඳහාම ලුප්ස් සඳහා භාවිතා කළ හැක.

මකාදැමීමක් මකාදැමීමෙන් කිසියම් අංගයක් මකා දැමිය හැක. අක්ෂර ලකුණකින් තොරව ආරාවුල් නාමයක් සඳහන් කිරීමෙන්, මකාදැමීමේ ප්රකාශය ද අරාවෙහි සම්පූර්ණ අන්තර්ගතය මකා දැමිය හැක.

විචල්ය යතුරු ලියනය කිරීම සහ පරිවර්තනය කිරීම

විචල්යයන් සහ ක්ෂේත්රයන් (පාවෙන ලක්ෂ්යය) සංඛ්යා, හෝ නූල් හෝ දෙකම විය හැකිය. විචල්යයක අගය අර්ථ නිරූපණය කරන්නේ එහි සන්දර්භය මතය. සංඛ්යාත්මක ප්රකාශනයක භාවිතා කරනු ලබන්නේ නම් එය අංකයක් ලෙස සලකනු ලැබේ නම්, එය ශ්රේණියක් ලෙස සලකනු ලැබේ.

අංකයක් ලෙස සලකනු ලබන විචල්යයක් බල කිරීම සඳහා 0 ට එය එක් කරන්න. එය ශ්රේණියක් ලෙස සැලකීමට එය බල කිරීම, null string සමඟ එය සංකෝචනය කරන්න.

ශ්රේණියක් අංකයක් බවට පරිවර්තනය කළ විට, පරිවර්ථනය උපයෝගී කර ගනී (3) භාවිතා කරයි . සංඛ්යාවක් ස්ප්රින්ෆෙට් (3) සඳහා වූ ආකෘතියක string ලෙස CONVFMT අගය භාවිතා කිරීම මඟින් අංකයට පරිවර්තනය කරනු ලැබේ, විචල්යයේ සංඛ්යාත්මක අගය සමඟ තර්කය ලෙස භාවිතා කෙරේ. කෙසේ වෙතත්, AWK හි සියලු සංඛ්යා පාවෙන ලක්ෂ්යය වුවද, පූර්ණ සංඛ්යා සෑම විටම සංඛ්යා ලෙස පරිවර්තනය වේ. මේ අනුව, දෙනු ලැබේ

CONVFMT = "% 2.2f" a = 12 b = a ""

විචල්ය b "12" සහ 12.00 " නූල් අගයයි.

Gawk පහත පරිදි සංසන්දනය කරයි: විචල්ය සංඛ්යා ගණන සංඛ්යාත්මකව නම් ඒවා සංඛ්යාත්මක වශයෙන් සංසන්දනය කර ඇත. එක් අගය සංඛ්යාත්මකව සහ අනෙක් අක්ෂරයේ සංඛ්යාත්මක අගයක් වන අතර එය සංසන්දනයන් සංඛ්යාත්මකව සිදු කරනු ලැබේ. එසේ නොමැති නම් සංඛ්යාත්මක අගය ශ්රේණියක් බවට පරිවර්ථනය වන අතර සංසන්දනය සිදු කරනු ලැබේ. කෙණ්ඩි දෙකක් ලෙස එකිනෙකට වෙනස් වී ඇත. POSIX සම්මත සෑම තැනකම, "සංඛ්යා පේළිය" යන සංකල්පය, string Constants වලට පවා අදාළ වන බව සැලකිල්ලට ගන්න. කෙසේ වෙතත්, මෙය පැහැදිලිවම අසත්යයි, සහ gawk මෙය නොකරයි. (වාසනාවකට මෙන්, මෙය සම්මතයේ ඊලඟ අනුවාදය තුල නියම කර ඇත.)

"57" වැනි string constants සංඛ්යාත්මක නූල් නොවන බව සැලකිල්ලට ගන්න, ඒවා string konstants වේ. '' සංඛ්යාංක ශ්රේණියක් '' යනුවෙන් අදහස් වන්නේ ක්ෂේත්ර, gline ආදානය, FILENAME , ARGV මූලද්රව්ය, ENVIRON මූලද්රව්ය සහ සංඛ්යාත්මක නලයන් (split () විසින් නිර්මාණය කරන ලද array of elements ) පමණි . මූලික අදහස නම්, පරිශීලක ආදාන සහ සංඛ්යාත්මකව පෙනෙන පරිදි පමණක් භාවිතා කරන පරිශීලක ආදානය එම ආකාරයෙන් සැලකිය යුතුය.

අංකනය කළ විචල්යයන් සංඛ්යාත්මක අගය 0 සහ එහි අගය "" (null, හෝ හිස්, string) ඇත.

ඔක්සල් සහ හෙක්සැඩිකල්මාල් කොන්ස්ටන්ටස්

Gawk 3.1 අනුවාදය සමඟින්, ඔබේ AWK වැඩසටහනේ මූල කේතය තුල C-style අෂ්ටාසක සහ hexadecimal constants භාවිතා කළ හැකිය. නිදසුනක් ලෙස, අෂ්ටක අගය 011 දශම 9 ට සමාන වේ, සහ hexadecimal අගය 0x11 දශම 17 වේ.

සීමිත කොන්ස්ටන්ස්

අක්ෂර වින්යාසය තුළ අන්තරායකාරී අක්ෂර යනු ද්විත්ව උපුටා අතර අක්ෂර අනුක්රීම් අනුපිළිවෙලයි.

\\

සත්ය බැක්ස්ලෑෂ්.

\ඒ

'' සුපරීක්ෂාකාරී '' අක්ෂරය; සාමාන්යයෙන් ASCII BEL චරිතය.

\බී

අවලංගුයි.

\ f

ආකෘති පෝෂණය.

\ n

නව මාර්ගය.

\ r

නැවත පැමිණීම.

\ටී

තිරස් ටැබ්.

\ v

සිරස් ටැබයට.

\ x hex අගයන්

\ X ලෙස අනුගමනය කරන ලද අක්ෂරයේ අක්ෂර මාලාව (hexadecimal digits) ANSIC වල මෙන්, පහත සඳහන් අක්ෂරම හෙඩ්සෙඩ් අංක සියල්ල බේරුම් අනුපිළිවෙලෙහි කොටසක් ලෙස සැලකේ. (කමිටුවේ කමිටුව විසින් භාෂා සැලැස්ම පිළිබඳව යමක් සඳහන් කළ යුතුය.) උදා: "\ x1B" යනු ASCIIESC (ගැලවීම) චරිතය වේ.

\ ddd

චරිතය 1, 2, හෝ 3-සංඛ්යාංක අනුක්රමය අක්ෂරයේ අනුපිළිවෙලින් නියෝජනය වේ. උදාහරණයක් ලෙස, \ 033 " ASCII ESC (ගැලවීම) චරිතය.

\ c

සාරාංශ ලක්ෂණ c .

Escape අනුපිළිවෙල නිරන්තරයෙන් නිරන්තරව නිරන්තරයෙන් ප්රකාශයට පත් කළ හැක (උදා: / [t \ f \ n \ r \ v] / වස්පස්තා ලක්ෂණ වලට ගැලපෙයි).

සංසන්දන මාදිලියේ අෂ්ටාශ්ර දෙවර්ගය සහ අණුකව පවතින අක්ෂරවලින් නියෝජනය වන අක්ෂර සාමාන්යයෙන් නිරවද්ය ප්රකාශ කිරීමේ නියතවල භාවිතා වන විට වචනයෙන් සලකනු ලැබේ. මේ අනුව, / a \ 52b / a / * b / සමාන වේ.

මෝස්තර සහ ක්රියා

AWK යනු රේඛීය-දිශානුගත භාෂාවකි. රටාව ප්රථමයෙන් ක්රියාත්මක වන අතර ඉන් අනතුරුව ක්රියාව. ක්රියාකාරී ප්රකාශයන් {{{{{{1 }}} {{{{{{1 }}} {{ }} {{{{ }}} {{{{ රටාව නැති විය හැකිය, නැතහොත් ක්රියාව අස්ථානගත විය හැකිය, නමුත්, සැබවින් ම, දෙකම නොවේ. රටාව අස්ථානගත වී ඇත්නම්, ආදාන එක් එක් වාර්තාවට ක්රියා කිරීම සිදු කරයි. අතුරුදන් වූ ක්රියාමාර්ගය සමාන වේ

{print}

සමස්ත වාර්තාව මුද්රණය කරයි.

'' # '"අක්ෂරයෙන් ආරම්භ වන අතර රේඛාව අවසානය දක්වාම ක්රියාත්මක වේ. ප්රකාශයන් වෙන් කිරීමට හිස් පේළි භාවිතා කළ හැක. සාමාන්යයෙන්, ප්රකාශයක් නව පේළියකින් අවසන් වේ. කෙසේ වෙතත්, මෙය ``, '', { , ? , : ,, && , හෝ || . අවසන් වන රේඛාවන් හෝ එසේත් නැත්නම් ඔවුන්ගේ ප්රකාශයන් ස්වයංක්රීයව පහත දැක්වෙන පේළියෙහි දිගටම පවතී. වෙනත් අවස්ථාවල දී, එය මාර්ගයෙන් එය අවසන් කිරීමෙන් රේඛාවක් අඛණ්ඩව කරගෙන යා හැක, එවිට නවීනය නොසලකා හරිනු ඇත.

බහු රේඛා ප්රකාශයන් එක් රේඛාවක් මත තැබිය හැක: ``; '' '. මෙය ආදර්ශ අනුක්රමික යුගල (සාමාන්යයෙන් සිදුවීම) සහ ක්රියාවලි ක්රියාකාරී ප්රකාශයන් තුළ ක්රියාකාරී කොටස් තුළ ප්රකාශයට අදාළ වේ.

මෝස්තර

AWK රටා පහත දැක්වෙන ආකාරයෙන් විය හැක:

ඇරඹුම END / regular expression / relational expression pattern & pattern pattern || රටාව ? රටාව ( රටාව ) ! රටාව pattern1 , pattern2

BEGIN සහ END ආදාන වලට එරෙහිව පරීක්ෂණයට ලක් නොවූ විශේෂ ආකාර දෙකකි. සියලු BEGIN රටා වල ක්රියාකාරී කොටස් සියල්ල එකින් එක BEGIN බ්ලොක් එකක් තුළ ලියා ඇත. ඉන්පුටෝ කියවා පෙර ඒවා ක්රියාත්මක කරනු ලැබේ. එලෙසම, සියලු END බ්ලොක් ඒකාබද්ධ කරනු ලැබේ, සියලු ආදානය අවසන් වන විට (හෝ පිටවීමේ ප්රකාශයක් ක්රියාත්මක වන විට). BEGIN සහ END රටා ආදර්ශ රූපවල අනෙකුත් රටාවන් සමඟ ඒකාබද්ධ කළ නොහැක. BEGIN සහ END රටාවන්ට ක්රියාකාරී කොටස් නැති විය හැක.

/ නිතිපතා ප්රකාශණය / රටා සඳහා, සාමාන්ය ප්රකාශනයට ගැලපෙන එක් එක් ආදාන වාර්තාව සඳහා අදාල ප්රකාශය ක්රියාත්මක වේ. නිතිපතා ප්රකාශයන් egrep (1) හි සමාන වන අතර පහත දැක්වෙන පරිදි සාරාංශ කර ඇත.

ක්රියාකාරීත්වය පිළිබඳ කොටසෙහි අර්ථ දැක්වුවහොත් කිසියම් අර්ථකථනයක් ලබා ගත හැකිය. සාමාන්යයෙන් සමහර නිශ්චිත ක්ෂේත්රවල ඇතැම් නිශ්චිත ප්රකාශයන් සමඟ ගැලපේද යන්න පරීක්ෂා කර බලන්න.

&& , || , සහ ! මෙහෙයුම්කරුවන් තාර්කික හා තර්කානුකූල OR සහ තාර්කික නොවන පිළිවෙලින් පිළිවෙලින් පිළිවෙලින් C, ඒවා පිළිවෙලින් C හි දී කෙටි පරිපථ අගැයීමකි. තවද C හි මෙන්ම මෙන්ම වඩාත් ප්රමිතිගත රටා ප්රකාශනයන් ඒකාබද්ධ කිරීම සඳහා භාවිතා වේ. බොහෝ භාෂා වලදී, ඇගයුම්වල අනුපිළිවෙල වෙනස් කිරීමට වරහන් යොදාගත හැකිය.

මෙම?: ක්රියාකරු සයිප්රසයේ ක්රියාකරු සමාන වේ. මුල් රටාව සත්ය නම්, පරීක්ෂා කිරීම සඳහා භාවිතා කරන රටාව යනු දෙවන රටාවයි, එසේ නැත්නම් එය තෙවනුව වේ. දෙවන හා තුන්වන රටාවන්ගෙන් එකකට පමණක් ඇගයීමට ලක් වේ.

ප්රකාශනය pattern1 , pattern2 ආකෘතිය පැතිරුම් රටාවක් ලෙස හැඳින්වේ. එය දර්ශකයට අනුකූලව වාර්තාවක් සමඟ ආරම්භ වන සියලු ආදාන වාර්තා වලට ගැලපේ . එය වෙනත් ආකාරයේ රටා ප්රකාශනයක් සමඟ ඒකාබද්ධ නොවේ.

නිසි ප්රකාශයන්

ඊපීඩී හි නිශ්චිතව දක්නට ලැබෙන පුළුල් ආකාරයේ නිතිපතා ප්රකාශයන් වේ. ඒවා පහත දැක්වෙන අක්ෂර වලින් සමන්විත වේ:

c

metach non-metacharacter c වලට ගැලපේ.

\ c

ප්රත්යාවර්ත චරිතයට ගැළපේ .

.

නව පේළිය ඇතුලම ඕනෑම චරිතයකට ගැලපේ.

^

පේළියේ ආරම්භයට ගැලපේ.

$

ශ්රේණියේ අවසානයට ගැලපේ.

[ abc ... ]

අනුලකුණු ලැයිස්තුව, අනුලකුණු බොත්තම ALC ....

[^ abc ... ]

අක්රමාංකිත අනුලකුණු ලැයිස්තුව, අක්ෂර හැර අක්ෂර අනුලකුණු වලට අනුකලනය වේ.

r1 | r2

විකල්පයක්: r1 හෝ r2 එකට ගැළපේ .

r1r2

සංසන්දනය: r1 , r2 , r2 .

r +

එකක් හෝ වැඩි ගණනක් එකට ගැළපේ .

ආර් *

ශුන්යය හෝ ඊට වැඩි ගණනක් සමඟ තරඟ කරයි.

ආර් ?

ශුන්යය හෝ එක් එක් ආචරනය .

( )

කන්ඩායම

r { n }

r { n ,}

r { n , m } එකේ හෝ දෙකේ ඇති ඉලක්කම් දෙකක අභිසාරී පදයකි. ප්රේරක වල එක් සංඛ්යාවක් තිබේ නම්, කලින් පැවති සාමාන්ය ප්රකාශනය r නැවත නැවත n වේ. කොමාවකින් වෙන්වූ සංඛ්යා දෙකක් තිබේ නම් rn සිට m ගුණයකි. එක් සංඛ්යාවක් කොමාවකට පසු නම්, r ට අවම වශයෙන් n වාරයක් නැවත නැවත සිදු කෙරේ.

--posix හෝ -re-interval විධානය රේඛාවේ දක්වා ඇත නම්, අන්තර්වාර ප්රකාශයන් ලබා ගත හැකිය.

\ y

වචනයක් ආරම්භයේ හෝ අවසානයේ හිස් කොලකට ගැලපේ.

\බී

වචනයක් තුල හිස් වචන පෙළට ගැලපේ.

\ <

වචනයක් ආරම්භයේදී හිස් කෙඳිවලට ගැලපේ.

\>

වචනය අවසානයේ හිස් කෙඳිවලට ගැලපේ.

\ w

කිසියම් වචනයක සංඝටනාත්මක චරිතයක් (අකුර, ඉලක්කම් හෝ උච්චාරණ) වලට ගැලපේ.

\ W

වචනාර්ථයෙන් නොවන ඕනෑම අක්ෂරයකට ගැලපේ.

\ `

බෆරයක ආරම්භය (හිස්තැනක්) හිස් කොලකට ගැලපේ.

\ '

බෆරයක අවසානයේ හිස් කෙටුම් වලට ගැලපේ.

නිඛිල සංඛ්යා වල වලංගු වන බේරුම් අනුපිළිවෙලවල් (පහත බලන්න) සාමාන්ය ප්රකාශනයන්හි වලංගු වේ.

අක්ෂර මාලාව POSIX ප්රමිතිය තුළ හඳුන්වාදුන් නව ලක්ෂණයකි. චරිත පන්තිය විශේෂිත ලක්ෂණයක් සහිත අක්ෂර ලැයිස්තු විස්තර කිරීම සඳහා විශේෂ අංකනයක් වේ. එහෙත් සැබෑ අක්ෂරයන් රටින් රටට වෙනස් විය හැකිය. නිදසුනක් ලෙස අකාරාදි චරිතයක සංකල්පය එක්සත් ජනපදයේ හා ප්රංශයේ ද වෙනස් වේ.

අක්ෂර ලැයිස්තුවක් යනු චරිත ලයිස්තුවේ ඇති වරහන් තුළ සාමාන්ය ප්රකාශනයක් වලංගු වේ. අක්ෂර ප්රවර්ගයන් සමන්විත වන්නේ : [,: පංතියෙන් සංකේත කරන මූලික පදයක් සහ :] . POSIX ප්රමිතිය මගින් අර්ථ දක්වා ඇති චරිත පංති:

[alnum:]

අක්ෂර චතුර් චරිත.

[alpha:]

අකාරාදී අනුලකුණු.

[: හිස්:]

අවකාශය හෝ ටැබ් චරිත.

[: cntrl:]

පාලක චරිත.

[: ඉලක්කම්:]

ඉලක්කම් අනුලකුණු.

[: ප්රස්තාර:]

මුද්රණය කළ හැකි හා දෘශ්යමාන ලක්ෂණ. (අවකාශයක් මුද්රණය කළ හැකි නමුත් එය නොපෙනේ, ඒ අක්ෂර දෙකකි.)

[පහළ:]

පහළ අක්ෂ අක්ෂරය චරිත.

[මුද්රණය කරන්න:]

මුද්රිත චරිත (අක්ෂර පාලක නොවන අක්ෂර).

[: punct:]

විරාම ලකුණු (අකුරු, ඉලක්කම්, පාලන චරිත හෝ අවකාශමය අක්ෂර නොවන අකුරු).

[:අවකාශය:]

අභ්යවකාශ අක්ෂර (අවකාශය, ටැබ් සහ හැඩතල වැනි) යනුවෙන් හැඳින්වේ.

[:ඉහළ:]

ඉහළ පෙළේ අකාරාදී අක්ෂර.

[: xdigit:]

Hexadecimal අංකයන් හී අකුරු.

නිදසුනක් ලෙස, POSIX සම්මතයට පෙර අක්ෂරාංකි අකුරු අනුපිළිවෙලට ගැලපෙන පරිදි, ඔබ / A-Za-z0-9 / / ලිවීමට සිදුවිය යුතුය. ඔබේ චරිත කට්ටලය වෙනත් අක්ෂර අක්ෂර මාලාවක් තිබුනේ නම්, මෙය ඔවුන්ට නොගැලපෙන අතර, ඔබේ චරිතය ASCII වෙතින් වෙනස්ව තිබේ නම්, මෙය ASCII අක්ෂරාංකි අක්ෂරවලට සමාන නොවිය හැක. POSIX අනුලකුණු පන්ති සමඟින්, ඔබ / / [[: alnum:]] / / ලියන්න, ඔබට මෙම අක්ෂර මාලාව තුළ අකාරාදී හා සංඛ්යාත්මක අක්ෂර වලට ගැලපේ.

විශේෂිත අනුපිළිවෙලවල් දෙකක් චරිත ලැයිස්තු තුළ දිස්විය හැකිය. ඒවා ASCII අක්ෂර කට්ටලයට අදාළ නොවන අතර එක් අකුරකට වඩා වැඩි ගණනක් නියෝජනය කරන තනි සංකේත ( සමීකරණය කිරීමේ මූලද්රව්ය ) ඇති අතර ඒවා එකිනෙකට ගැලපුම් හෝ වර්ග කිරීම සඳහා සමාන වේ. (නිදසුනක් ලෙස, ප්රංශ භාෂාවෙන්, '' ඊ '' සහ උච්චාරණ ඊ '' සමාන වේ.)

සංකෝචන සංකේත

සංසන්දනය කිරීමේ සංකේතය [ encrypted] බහු-අක්ෂර එකතු කිරීමේ අංගයක් වේ . සහ .] . නිදසුනක් ලෙස ch යනු සුචි උපාංගයක් නම්, [[.ch.]] මෙම ගැලපුම් මූලද්රව්යයට ගැලපෙන සාමාන්ය ප්රකාශනයක් වන අතර, [ c ] යනු c හෝ h සමඟ ගැලපෙන නිතිපතා ප්රකාශනයකි.

සමානත්ව පන්ති

සමානාත්මතා පන්තිය යනු සමාන අක්ෂර ලැයිස්තුවක් සඳහා දේශීය-විශේෂිත නමකි. මෙම නම [= සහ =] තුල අන්තර්ගත වේ. නිදසුනක් ලෙස, 'e', ​​'' e ',' 'සහ `` e' 'නියෝජනය කිරීමට නම e භාවිතා කළ හැකිය.' 'මෙම අවස්ථාවේ දී [[= e =]] e , e ' හෝ e යන ඕනෑම ගණයට අයත් වේ.

මෙම ලක්ෂණ ඉංග්රීසි නොවන භාෂාව කතා කරන ස්ථානවල ඉතා වැදගත් වේ. වර්තමානයේ පමණක් POSIX අක්ෂර පංති හඳුනාගනු ලබන්නේ සාමාන්ය ප්රකාශ ප්රකාශ සඳහා භාවිතා කරන පුස්තකාලයයි. ඒවා සංසන්දනය කිරීමේ සංකේත හෝ සමානාත්මතා පන්ති හඳුනා නොගනී.

\ Y , \ B , \ < , \> , \ w , \ W , \ ` , සහ \ ' ක්රියාකරුවන් gawk වලට විශේෂිත වේ; ඒවා GNU Regular Express පුස්තකාලවල ඇති පහසුකම් මත පදනම්ව දිගු වේ.

විවිධ විධාන රේඛා විකල්පයන් සාමාන්යයෙන් අක්ෂර නිරූපණය කරන්නේ කෙසේදැයි යන්න පාලනය කරයි.

විකල්ප නැත

ප්රකෘති නඩුවේදී, gawk මඟින් POSIX නිතිපතා ප්රකාශන සහ සියලුම GNUU සාමාන්ය ප්රකාශනයේ ක්රියාකාරීත්වය සපයන සියලු පහසුකම් සපයයි. කෙසේ වෙතත්, අන්තර්වාර ප්රකාශනය සඳහා සහාය නොදක්වයි.

-

GNU මෙහෙයුම්කරුවන් විශේෂිත නොවේ POSIX නිතිපතා ප්රකාශන පමණක් සහාය දක්වයි. (උදාහරණයක් ලෙස, w w සමග ගැලපෙන). අන්තර්වචක ප්රකාශන ඉඩ ලබා දේ.

--සම්ප්රදායික

සාම්ප්රදායික Unix awk regular expression එකට සමාන වේ. GNU ක්රියාකරුවන් විශේෂ නොවේ, අන්තර්වචක ප්රකාශයන් නොමැත, සහ POSIX අනුලකුණු පන්ති ( [[: alnum:]] සහ එසේ නොවේ). අෂ්ටක හා ආදේශක අනුක්රමික අක්රමාංකිත අනුපිළිවෙලින් විස්තර කරන ලද අකුරු සාමාන්ය වචනයක් ලෙස නිරූපණය වන වුවත් වචනානුසාරයෙන් සලකනු ලැබේ.

- රේ-රේඛාව

- විධිමත් ප්රකාශ ලබා දී ඇත්නම්, අන්තර්වචික ප්රකාශයන් සඳහා නිත්ය ප්රකාශන ලබා දෙන්න.

ක්රියා

ක්රියාකාරී ප්රකාශයන් සඟරා වල, { සහ } . ක්රියාකාරී ප්රකාශයන් බොහොමයක් භාෂාවේ දක්නට ලැබෙන සාමාන්ය පැවරුම්, කොන්දේසි සහ ලුප්ත ප්රකාශයන්ගෙන් සමන්විත වේ. මෙහෙයුම්කරුවන්, පාලක ප්රකාශන සහ ආදාන / ප්රතිදානය ප්රකාශ ලබා ගත හැක C.

මෙහෙයුම්කරුවන්

අ.ඩො.ස. වල ක්රියාකාරිත්වය පහත හෙලීමේ අනුපිළිවෙල අනුව වේ

( ... )

කණ්ඩායම්ගත කිරීම

$

ක්ෂේත්ර ආශ්රිතය.

++ -

උපසර්ගය හා පශ්චාත් උපසර්ගය සහ වර්ධන වේගය.

^

වෙන් කිරීම ( ** භාවිතා කළ හැක, සහ පැවරුම් ක්රියාකරු සඳහා ** = ).

+ -!

අනන්ය ප්ලාස්ටික්, සෘජු නාස්තිය සහ තාර්කික නිෂේධනය.

* /%

ගුණ කිරීම, බෙදීම, සහ මාපාංකය.

+ -

එකතු කිරීම හා අඩු කිරීම.

අවකාශය

String සංයුක්ත කිරීම.

<>

<=> =

! = == නිත්ය සාපේක්ෂ මෙහෙයුම්කරුවන්.

~! ~

නිසි ප්රකාශ ප්රකාශ තරඟය, නිෂේධිත ගැලපීම. සටහන: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ දකුණු පැත්තෙන් එකක් භාවිතා කරන්න. / (Foo / ~ exp) ප්රකාශනය (($ 0 ~ / foo /) ~ exp ) ලෙසින් අර්ථය ඇත. මෙය සාමාන්යයෙන් අපේක්ෂා කළ දේ නොවේ .

තුල

ආරේ සාමාජිකත්වය.

&&

තර්කානුකූල සහ.

||

තාර්කික OR.

?:

සී කොන්දේසික ප්රකාශනය. මෙය ආකෘතිය expr1 වේ ? expr2 : expr3 . Expr1 සත්ය නම්, ප්රකාශනයේ අගය expr2 , එසේ නොමැති නම් expr3 වේ. Expr2 සහ expr3 වලින් එකක් පමණක් ඇගයීමට ලක් කරනු ලැබේ.

= + = - =

* = / =% = ^ = පැවරුම. නිරපේක්ෂ පැවරුම ( var = අගය ) සහ ක්රියාකරු-පැවරුම (අනෙකුත් ආකාරයන්) සහාය දෙයි.

පාලක ප්රකාශන

පාලන ප්රකාශයන් පහත පරිදි වේ:

( තත්වයේ ) ප්රකාශය ( වෙනත් ප්රකාශය ) වන අතර ( කොන්දේ කොන්දේසිය ප්රකාශය කරන්න ) ප්රකාශය (while condition ) ප්රකාශය ( condition ) සඳහා ( expr1 ; expr2 ; expr3 ) ප්රකාශය ( var in array ) ප්රකාශ ප්රකාශය අඛණ්ඩව මකා දමන්න array [ index ] delete array exit [ expression ] { ප්රකාශයන් }

I / O ප්රකාශන

ආදාන / ප්රතිදානය ප්රකාශ පහත පරිදි වේ:

සමීපව ( ගොනුව [ , කෙසේද ] )

ගොනුව, පයිප්ප හෝ සම-ක්රියාවලිය වසන්න. ද්වි-මාර්ග නලයක එක් කෙළවරක සම-ක්රියාදාමයකට වසා දැමීම සඳහා යොදා ගත යුතු විකල්ප නැත. එය "කිරීමට" හෝ "සිට" යන string අගය විය යුතුය.

ගෝල්ඩ්

ඊළඟ ආදාන වාර්තාවෙන් ඩොලර් 0 ක් සකසන්න. NF , NR , FNR යන්න .

getline < ගොනුව

ගොනුවේ ඊළඟ වාර්තාවේ සිට $ 0 සකසන්න; NF පිහිටුවා ඇත.

gamel var

ඊළඟ ආදාන වාර්තාවෙන් var ඉවත් කරන්න; NR , FNR .

varline < file

ඊළග ගොනුවේ සටහන් සිට var තෝරන්න .

විධානය | gothle [ var ]

ක්රියාත්මක කරන විධානය ක්රියාත්මක කරන්න, ඉහත පරිදි, $ 0 හෝ var , ප්රතිදානය කිරීම.

විධානය | & getline [ var ]

ඉහත දැක්වෙන්නේ $ 0 හෝ var , ප්රතිදානය ලෙස ක්රියාකරනු ලබන සම-ක්රියාවලියක් ලෙස ක්රියාත්මක කරන්න. සම-ක්රියාවලි යනු උගුලක් දිගුවකි.

ඊලඟ

වත්මන් ආදාන වාර්තාව සැකසීම නවත්වන්න. ඊළඟ ආදාන වාර්තාව කියවනු ලබන්නේ AWK වැඩසටහනෙහි පළමු රටාව සමඟ ක්රියා කිරීමයි. ආදාන දත්ත අවසානය ලැබුනේ නම්, END බ්ලොක් (ඇ), තිබේ නම්, එය ක්රියාත්මක කරනු ලැබේ.

ඊලග ෆිල්ටරය

වත්මන් ආදාන ගොනුව සැකසීම නවත්වන්න. ඊළඟ ආදාන වාර්තා කියවන්නේ ඊළඟ ආදාන ගොනුවෙන්. FILENAME සහ ARGIND යාවත්කාලීන කර ඇත, FNR නැවත සකසනු ලබන්නේ 1, සහ සැකසුම AWK වැඩසටහනේ පළමු රටාව සමඟ ක්රියා කිරීම ආරම්භ වේ. ආදාන දත්ත අවසානය ලැබුනේ නම්, END බ්ලොක් (ඇ), තිබේ නම්, එය ක්රියාත්මක කරනු ලැබේ.

මුද්රණය කරන්න

වත්මන් වාර්තාව මුද්රණය කරයි. ORS විචල්යයේ අගය සමඟ නිමැවුම් වාර්තාව අවසන් වේ.

මුද්රණය කරනුයේ expr-list

ප්රකාශන ප්රකාශන මුද්රණය කරන්න. එක් එක් ප්රකාශනය OFS විචල්යයේ අගය අනුව වෙන් කරනු ලැබේ. ORS විචල්යයේ අගය සමඟ නිමැවුම් වාර්තාව අවසන් වේ.

print expr-list > ගොනුව මුද්රණය කරන්න

ගොනුවේ පිටපත් මුද්රණය කරන්න . එක් එක් ප්රකාශනය OFS විචල්යයේ අගය අනුව වෙන් කරනු ලැබේ. ORS විචල්යයේ අගය සමඟ නිමැවුම් වාර්තාව අවසන් වේ.

printf fmt, expr-list

ආකෘතිය සහ මුද්රණය.

printf fmt, expr-list > ගොනුව

ගොනුවේ ආකෘතිය සහ මුද්රණය කරන්න .

පද්ධතිය ( cmd-line )

Cmd-line විධානය ක්රියාත්මක කරන්න, පිටවන තත්වය ආපසු ලබා දෙන්න. (මෙය POSIX නොවන පද්ධති මත නොපවතී.)

fflush ( [ ගොනු ] )

විවෘත ප්රතිදාන ගොනුවක් හෝ නල ගොනුව සමඟ සම්බන්ධ ඕනෑම බෆර් විසිකරන්න. ගොනුව අතුරුදහන් නම්, සම්මත නිමැවුම් පිරී ඇත. ගොනුව null string නම් නම්, සියලු විවෘත ප්රතිදාන ගොනු සහ බටවල ඔවුන්ගේ බෆරයන් සුදානම් වේ.

අතිරේක ප්රතිදාන රෙපරමාණ මුද්රණය සහ මුද්රණය සඳහා අවසර දෙනු ලැබේ.

මුද්රණය කරන්න ... >> ගොනුව

ගොනුව වෙත ප්රතිදානය එක් කරයි.

මුද්රණය කරන්න ... | විධානය

නළයක ලියනවා.

මුද්රණය කරන්න ... | & විධානය

සම-ක්රියාවලියකට දත්ත යවයි.

Getline විධානය මඟින් ගොනුවේ අවසානයට 0 හා 0 දෝෂයක් ලබා දෙයි. දෝෂයක් ඇතිව ERRNO විසින් ගැටලුව විස්තර කරන string එකක් අඩංගු වේ.

සටහන: පේළියට හෝ මුද්රණයෙන් හෝ ලිවීම සඳහා නලයක් හෝ සම-ක්රියාවලියක් භාවිතා කරන්නේ නම්, ඔබ විසින් විධානයන්හි නව අවස්ථාවන් නිර්මාණය කිරීම සඳහා close () භාවිතා කළ යුතුය . ඒඑෆ්පී නැවත පැමිණෙන විට AWK ස්වයංක්රීයවම නලයක් හෝ සම-ක්රියාවලියක් වසා නොයනු ඇත.

Printf ප්රකාශය

Printf ප්රකාශයේ සහ sprintf () ශ්රිතයේ AWK සංස්කරණයන් (පහත බලන්න) පහත දැක්වෙන පරිවර්තන පිරිවිතර ආකෘති පිළිගන්න:

% c

ASCII චරිතය. % C සඳහා භාවිතා කරන ලද තර්කය සංඛ්යාත්මකව, එය චරිතයක් ලෙස සලකනු ලැබේ. එසේ නොමැති නම්, තර්කයක් ලෙස උපකල්පිත ලෙස උපකල්පනය කර ඇති අතර එම ශ්රේණියේ එකම ප්රථම අක්ෂරය මුද්රණය වේ.

% d , % i

දශම සංඛ්යාවක් (පූර්ණ සංඛ්යා කොටස).

% e,% E

[-] d.dddddde [+ -] dd ආකෘතියේ පාවෙන ලක්ෂ්යය. % E ආකෘතිය වෙනුවට භාවිතා කරයි.

% f

[-] ddd.dddddd ආකෘතියේ පාවෙන ලක්ෂ්යය.

% g,% G

% E හෝ % f පරිවර්ථනය භාවිතා කරන්න, අවම අගයක් සහිතව, අඩු අගයක් සහිතව ඉවත් කළ හැක. % G ආකෘතිය % e වෙනුවට % e භාවිතා කරයි.

% o

නොකළ අෂ්ටක සංඛ්යා (ද පූර්ණ සංඛ්යාවක්).

% u නොම්මර දශම සංඛ්යාවක් (නැවතත්, පූර්ණ සංඛ්යාවක්).

% s

අක්ෂර මාලාවක්.

% x,% X

අනු අත්සන් කරන ලද hexadecimal number (පූර්ණ සංඛ්යාවක්). % X ආකෘතිය ABCDEF වෙනුවට ABCDEF භාවිතා කරයි.

%%

තනි % අකුරු; කිසිදු තර්කයක් පරිවර්තනය නොකෙරේ.

අතිරේක පරාමිතීන් % සහ පාලක අක්ෂරය අතර විය හැක:

ගණන් කරන්න

ආකෘතියේ මේ අවස්ථාවේදී ගණනය කිරීමේ තර්කය භාවිතා කරන්න. මෙය ස්ථානීය නියමකයකු ලෙස හැඳින්වේ. එය මූලික වශයෙන් AWK වැඩසටහනේ මුල් පිටපතේ නොව, ආකෘති අක්ෂරවල පරිවර්තන අනුවාදයන් සඳහා භාවිතා වේ. එය ගෝල්ක් දිගුවකි.

-

එහි ප්රකාශනය තුල එහි ප්රකාශනය අත්හැර දැමිය යුතුය.

අවකාශය

සංඛ්යා පරිවර්තනයන් සඳහා, අවකාශය සහිත ධනාත්මක අගයන් සහ අඩුපාඩු ලකුණු සමග ඍණ අගයන්.

+

පළල වෙනස්කිරීමට පෙර භාවිතා කරන ලද ප්ලස් සලකුණ (පහත බලන්න), සංඛ්යාත්මක පරිවර්ථනයන් සඳහා සංඥා සැපයීම සඳහා සෑම විටම සංයුති කිරීමට නියමිත දත්ත ධනාත්මක වේ. + අවකාශය නවීකරණය කරන්නා

#

ඇතැම් පාලක අකුරු සඳහා '' විකල්ප ආකෘතියක් '' භාවිතා කරන්න. % O සඳහා මූලික ශුන්ය සැපයීම. % X , සහ % X සඳහා වෙනමම ප්රතිඵලයක් සඳහා 0x හෝ 0X සඳහා සැපයිය යුතුය. % E , % E , සහ % f සඳහා ප්රතිඵලය සෑමවිටම දශම ලක්ෂයක් අඩංගු වේ. % G , සහ % G සඳහා නව අගයන් ඉවත් නොකෙරේ.

0

ප්රස්ථාරයක් ලෙස 0 (ශුන්ය) ධජයක් ලෙස ක්රියා කරයි, එයින් අදහස් කරන්නේ පිටපත් වෙනුවට ශ්ලේෂ් වෙනුවට ශුන්යවලින් යුක්ත විය යුතුය. මෙය සංඛ්යාත්මක නොවන ආදාන ආකෘති වලට පවා අදාළ වේ. මෙම ධජය මුද්රණය කරනු ලබන වටිනාකමට වඩා ක්ෂේත්ර ක්ෂේත්ර පළල වඩා පුළුල් වේ.

පළල

ක්ෂේත්රය මෙම පළල දක්වාම රැඳවිය යුතුය. මෙම ක්ෂේත්රය සාමාන්යයෙන් අවකාශය සහිතව අවහිර කර ඇත. 0 ධජය භාවිතා කර තිබේ නම් එය ශුන්යවලින් යුක්ත වේ.

. නිශ්චිතය

මුද්රණය කිරීමේදී භාවිතා කිරීමට නිරවද්යතාව නිශ්චය කරයි. % E , % E , සහ % f ආකෘති සඳහා, ඔබ දශාංශික දකුණේ දකුණට මුද්රණය කිරීමට අවශ්ය සංඛ්යාංක ගණන නියම කරයි. % G , සහ % G ආකෘති සඳහා, එය සැලකිය යුතු සංඛ්යාවක් උපරිම සංඛ්යාව නියම කරයි. % D , % o , % i , % u , % x , සහ % X ආකෘති සඳහා, එය මුද්රණය කිරීමට අවශ්ය අංකයන් අවම සංඛ්යාතය දක්වයි. % S සඳහා , එය මුද්රණය කළ යුතු අක්ෂරයෙන් උපරිම අකුරු ගණන නියම කරයි.

ANSI C printf () ආකෘතියේ ගතික පළල හා නිවැරදි හැකියා අනුග්රහය දක්වයි. පළල හෝ නිශ්චිත පිරිවිතරයන් වෙනුවට * ඒ වෙනුවට ඒවායේ අගයන් printf හෝ sprintf () දක්වා තර්ක ලැයිස්තුවෙන් ලබා ගත හැක. ආකෘතියේ ආකෘතියකට පසුව ගණිතමය පළල හෝ නිරවද්යතාව සහිත ස්ථානීය නියමකයකු භාවිතා කිරීම සඳහා, $ ගණනය කරන්න . උදාහරණයක් ලෙස, "% 3 $ * 2 $. * 1 $ s" .

විශේෂ ලිපි නාමයන්

I / O මඟින් මුද්රණය කිරීම හෝ මුද්රණය කිරීම ගොනුවක් හෝ පිටපත් කිරීමකින් හෝ පිටපත් කිරීම සිදු කරන විට, ගෝල්ක් අභ්යන්තරවම විශේෂිත ගොනු නාමයන් හඳුනා ගනී. මෙම ගොනු නාමාවලියේ ගොවීන් ගේ මාපිය ක්රියාවලියෙන් (සාමාන්යයෙන් ෂෙල්) උරුම කරගත් විවෘත ලිපිගොනු වලට ප්රවේශ වීමට ඉඩ ලබා දේ. මෙම ගොනු නාම නාම දත්ත ගොනු කිරීම සඳහා විධාන රේඛාවේදී ද භාවිතා කළ හැකිය. ගොනු නාමයන් වේ:

/ dev / stdin

සම්මත ආදාන.

/ dev / stdout

සම්මත නිමැවුම්.

/ dev / stderr

සම්මත දෝෂය ප්රතිදානය.

/ dev / fd / n

විවෘත ගොනු විස්තරය n වේ.

දෝෂ සහිත පණිවිඩ සඳහා මෙය විශේෂයෙන් ප්රයෝජනවත් වේ. උදාහරණයක් වශයෙන්:

මුද්රණය "ඔබ එය පිම්බුවා!" > "/ dev / stderr"

ඔබ අනිවාර්යයෙන්ම භාවිතා කළ යුතුය

මුද්රණය "ඔබ එය පිම්බුවා!" | "cat 1> & 2"

TCP / IP ජාල සම්බන්ධතා සෑදීම සඳහා පහත සඳහන් විශේෂිත නාමලේඛන භාවිතා කරන්නේ නම් | & co-process operator.

/ inet / tcp / lport / rhost / rport

දුරස්ථ ප්රොටොකෝලේ දුරස්ථ සත්කාරක rhost වෙත දේශීය වරාය මත TCP / IP සම්බන්ධතාව සඳහා ගොනු. පද්ධතියක් port එකක් තෝරා ගැනීම සඳහා 0 port එකක් භාවිතා කරන්න.

/ inet / udp / lport / rhost / rport

සමාන, නමුත් TCP / IP වෙනුවට UDP / IP භාවිතා කරන්න.

/ inet / raw / lport / rhost / rport

අනාගත භාවිතය සඳහා වෙන් කර ඇත.

වෙනත් විශේෂිත නාමාවලියේ ක්රියාකාරී ගවුම් ක්රියාවලිය පිළිබඳ තොරතුරු වෙත ප්රවේශය ලබා දේ. මෙම ගොනු නාමලේඛනය දැන් යල්පැන ඇති. සපයන තොරතුරු ලබා ගැනීම සඳහා PROCINFO අරාව භාවිතා කරන්න. ගොනු නාමයන් වේ:

/ dev / pid

මෙම ගොනුව කියවීම වත්මන් ක්රියාවලියේ ක්රියාවලි හැඩයෙන්, දශමයකින්, නව පේළියකින් අවසන් වී ඇත.

/ dev / ppid

මෙම ගොනුව කියවීම, වර්තමාන ක්රියාවලියෙහි මාපි ක්රියාවලිය හැඳුනුම් අංකය, දශමයකින්, නව පේළියකින් අවසන් කර ඇත.

/ dev / pgrpid

මෙම ගොනුව කියවීම, වර්තමාන ක්රියාවලියෙහි ක්රියාවලි කණ්ඩායම් හැඳුනුම් අංකය, දශමයකින්, නව පේළියකින් අවසන් කර ඇත.

/ dev / පරිශීලක

මෙම ගොනුව කියවීම නව පේළියකින් අවසන් වූ එක් වාර්තාවක් නැවත ලබා ගනී. කුඹුර අවකාශයෙන් වෙන් කරනු ලැබේ. $ 1 යනු පද්ධතියේ ඇමතුම වන getuid (2) වේ, $ 2 යනු පද්ධති ඇමතීමේ අගය ( geteuid ) (2) වේ, $ 3 යනු පද්ධතියේ ඇමතුම වන getgid (2) අගය සහ $ 4 යනු getegid (2) පද්ධති ඇමතුමයි. අමතර ක්ෂේත්ර කිසිවක් තිබේ නම්, ඔවුන් කණ්ඩායම් කණ්ඩායම් විසින් ආපසු ලබා දෙනු ලැබේ (2). සියලු පද්ධති මත බහු පාර්ශ්වයන්ට සහය නොදක්වයි.

සංඛ්යා කර්තව්යයන්

පහත දැක්වෙන තනතුරු වල ගණිතමය ශ්රිත පහත පරිදි වේ.

atan2 ( y , x )

රේඩියන් වල y චක්රයේ ප්රතික්රියාව ලබා දේ.

cos ( expr )

රේඩියන් තුල ප්රකාශිත කොසයින් ප්රකාශනය කරනු ලබයි.

exp ( expr )

ඝාතීය ශ්රිතය.

int ( expr )

පූර්ණ සංඛ්යාවකට අකුරු කැපීම.

ලොග් ( expr )

ස්වාභාවික ලඝුගණක ශ්රිතය.

rand ()

0 හා 1 අතර සසම්භාවී අංකයක් ලැබේ.

පාපය ( expr )

රේඩියන් වල ප්රකාශිත sine ප්රකාශනය ආපසු ලබා දෙයි.

sqrt ( expr )

වර්ග මූල ක්රියාකාරීත්වය.

srand ( [ expr ] )

අහඹු සංඛ්යා උත්පාදකයක් සඳහා නව බීජයක් ලෙස expr භාවිතා කරයි . කිසිදු ප්රකාශයක් නොලැබුණහොත් , දින වල කාලය භාවිතා වේ. අහඹු සංඛ්යා උත්පාදකයක් සඳහා පෙර ඇති අගය වන්නේ පූර්ව බීජය වේ.

ශ්රේණි ශ්රිත

Gawk පහත දැක්වෙන ඉදි කිරීම් මාලාවන් ඇත:

( s , d ) )

ප්රභවය අරාවෙහි මූලද්රව්ය සංඛ්යාව ආපසු ලබා දෙයි. සාරාංශයේ අන්තර්ගතයන් ගුප්කයේ සාමාන්ය රීති භාවිතා කරමින් සාමාන්ය අගයන් භාවිතා කරමින් වර්ගීකරණය කර ඇති අතර, s හි අනුපිලිවෙල වූ අගයන් දර්ශකයේ අනුපිලිවෙලට ආදේශ කරනු ලැබේ. 1. අත්යවශ්ය ගමනා ගමන අන්තරය d විශේෂිත නම්, s s පළමු ආකාරයෙන් d , ඉන්පසු d ශ්රේණිගත කර ඇති අතර, ප්රභවයේ ආවරණ වල දර්ශකයන් වෙනස් නොකල යුතුය.

gensub ( r , s , h [ , t ] )

සාමාන්ය ප්රකාශනයේ r සඳහා ඉලක්ක ඉලක්කම් සඳහා සොයන්න. H යනු g හෝ G සමඟ ආරම්භ වන පදයක් නම් s සමඟ s සියලුම තරඟ සියල්ල ප්රතිස්ථාපනය කරන්න. එසේ නොමැතිනම්, h ට ප්රතිස්ථාපනය කරන්නේ කුමන අනුපිළිවෙලින් ද යන්නයි. T ලබා නොදුනහොත්, $ 0 භාවිතා කරනු ලැබේ. ආදේශන පෙළ s හි අනුක්රමයේ \ n , n සිට 1 සිට 9 දක්වා වූ අංකයක් වන අතර, n හි වරහන්ගත කළ උපවේශනවලට ගැලපෙන පෙළ පමණක් දැක්විය හැක. අක්ෂරය \ 0 අනුක්රමයට අනුරූප ලෙස සම්පූර්ණ අනුරූප පෙළ නියෝජනය වේ. උප () සහ gsub () මෙන් නොව, වෙනස් කළ ශ්රේණිය ප්රතිඵලය ලෙස ප්රතිඵලයක් ලෙස නැවතත්, මුල් ඉලක්කය ශ්රේණිය වෙනස් නොවේ .

gsub ( r , s [ , t ] )

String t වල සාමාන්ය ප්රකාශනය r එකිනෙකට සම්බන්ධ කරන උපස්තම්භය, string s ආදේශ කරන්න, සහ ආදේශක සංඛ්යාව නැවත ලබා දෙන්න. T ලබා නොදුනහොත්, $ 0 භාවිතා කරන්න. ආදේශන පාඨය වෙනුවට සත්ය ලෙස ගැලපෙන පෙළ සමඟ ප්රතිස්ථාපනය කෙරේ. භාවිතා කරන්න & & සත්යය ලබා ගැනීමට & . (මෙය "\\ සහ" ලෙස ටයිප් කළ යුතුය, GAWK බලන්න : උපකල්පිත sub () , gsub () , සහ gensub () ආදේශන පාඨයන්හි & & backslas සඳහා වඩාත් ඵලදායී AWK වැඩසටහන්කරණය සඳහා.

දර්ශකය ( s , t )

ශ්රේණියේ t ශ්රේණියෙහි දර්ශකය ආපසු ලබා දෙයි, හෝ 0 නොමැති නම්. (මෙයින් අදහස් කරන්නේ චරිත දර්ශක එක් ආරම්භක බවය).

දිග ( [ s ] )

S සථාපනය නොකෙරේ නම්, s s හි දිග හෝ හෝ $ 0 දිග දිගු කරයි.

තරගය ( s , r [ , a ] )

සාමාන්ය ප්රකාශනය r හි ස්ථානගතව ඇති ස්ථානය, හෝ r නොපවතියි නම් සහ RSTART සහ RLENGTH වල අගයන් පිහිටයි . තර්ක අනුපිළිවෙල විසින් ~ operator සඳහා සමාන වේ: str ~ re . අරා එකක් ලබා දී ඇත්නම්, a ඉවත් කරනු ලැබේ අතර ඉන්පසු මූලද්රව්ය 1 සිට n දක්වා කොටස් ආර් කොටස් සමග අනුරූපී වරහන් සහිත උපේක්ෂාව සමඟ ගැලපෙන කොටස් සහිතව පුරවා ඇත. 0 හි අත්යාවශ්ය අංගය එහි සම්පූර්ණ විධි ප්රකාශය r ට සමාන ය .

භේදය ( s , a [ , r ] )

String s පෙළ විධිමත් expression r හි අරය බවට බෙදන්න හා ක්ෂේත්ර ගණන නැවත ලබා දේ. R ඉවත් කර ඇත්නම්, FS භාවිතා කරනු ලැබේ. අරා එකක් ප්රථමයෙන් ඉවත් කරනු ලැබේ. බෙදී යාම, ඉහත දැක්වෙන ක්ෂේත්රයේ බෙදී යාම සමාන ලෙස හැසිරේ.

sprintf ( fmt , expr-list )

Fmt අනුව ප්රකාශයට පත්කරන ලද expr-list මුද්රණය කර එහි ප්රතිපලය ලැබෙනු ඇත.

strtonum ( str )

Str , සහ එහි සංඛ්යාත්මක අගය නැවත ලබා ගනී. පීඑන්ඒ ආරම්භයේ දී 0 නම් , strtonum () උපකල්පනය කරන්නේ ස්ට්රෝටෝ අෂ්ටක සංඛ්යාවක් බවය. පීසී ප්රධාන 0x හෝ 0X සමඟ ආරම්භ වී ඇත්නම්, strtonum () උපකල්පනය කරනු ලබන්නේ str යනු hexadecimal අංකයක් බවයි.

sub ( r , s [ , t ] )

Gsub () ලෙසද , නමුත් පළමු අනුරූප උපපිටුව පමණක් ප්රතිස්ථාපනය වේ.

substr ( s , i [ , n ] )

I හි ආරම්භ වන n- චරක පරාමිතීන් තුළ නැවත ලබා දේ. N වසා නොමැති නම්, අනෙකුත් s භාවිතා වේ.

(බ්ලොග් )

Strps හි පිටපතක්, පීඑස් හි සියලුම ඉහල අක්ෂර සහිත අක්ෂර සමඟ ඒවායේ අනුරූප නොවන අඩුපාඩු සගයන් වෙත පරිවර්තනය කරනු ලැබේ. අකාරාදී නොවන අක්ෂර වෙනස් නොවේ.

ටොප්පර් (පීරිස් )

පීසීයේ සියලුම අකුරු අක්ෂර සහිත සියළුම අකුරු ශ්රේණිගත වී ඇති පීරිස් වල පිටපතක් ලබා දෙයි. අකාරාදී නොවන අක්ෂර වෙනස් නොවේ.

කාර්යයන්

AWK වැඩසටහන් වල ප්රාථමික භාවිතය එක් කාලයක මුද්දර තොරතුරු අඩංගු වන ලඝු-සටහන් ගොනුවකි , කාලය මුද්දර ලබාගැනීම සහ ඒවායේ ආකෘතිය ලබා ගැනීම සඳහා පහත සඳහන් කාර්යයන් සපයයි.

mectime ( datepec )

Systime විසින් ආපසු ලබා දුන් ආකෘතියේ කාලානුරූපයක කාලානුරූපය (rovers) . දිනයෙක් යනු YYYY MM DD HH MM SS ආකෘතියේ පදයකි . ශ්රේණියේ අන්තර්ගතයන් ශත හෝ අට ඇතුලත සංඛ්යා ලේඛන හතක් නියෝජනය වන අතර ශත වර්ෂය ඇතුළුව සම්පූර්ණ වර්ෂය, මාස 1 සිට 12 දක්වා, මාසය 1 සිට 31 දක්වා දින, දින 0 සිට 23 දක්වා දින සිට විනාඩි 0 සිට 59, සහ දෙවන සිට 0 සිට 60 දක්වා, සහ විකල්ප දිවා සුරැකුම් ධජය. මෙම සංඛ්යා වල අගයන් නියම කර ඇති පරාසයන් තුළ තිබිය යුතු නොවේ. නිදසුනක් ලෙස, පැයකට පැයකට -1 පැයකට මිනිත්තු දෙකකට පෙර. ආරම්භක-ශුන්ය ග්රෙගෝරියානු දින දර්ශනය පූර්ව වසර 1 හා වසර -1 පූර්ව වසර 0 සමඟ අනුමාන කරනු ලැබේ. කාලය දේශීය වේලා කලාපය තුල වේ. දිවා සුරැකුම් ධජය ධනාත්මක නම්, කාලය ගතවන කාලය ගනී; ශුන්යය නම්, කාලය සම්මත වේ යැයි උපකල්පනය කෙරෙයි; සහ සෘණ (පෙරනිමිය) නම්, විශේෂිත වේලාව සඳහා දිවා සුරැකීමේ කාලය ක්රියාත්මක වේ දැයි තීරණය කිරීමට mktime () උත්සාහ කරයි. උපසර්ගය ප්රමාණවත් තරම් මූලද්රව්ය අඩංගු නැතහොත් ප්රතිඵලය නොපවතින විට , mktime () නැවත පැමිණෙන්නේ -1.

strftime ( [ ආකෘතිය , කාලානුරූපය ]] )

ආකෘතියේ පිරිවිතර අනුව ආකෘති පත්ර ආකෘතිය. කාලෝචිත ආකෘතිය (systime) විසින් ආපසු ලබා දෙන ආකාරයටම විය යුතුය. කාලානුරූපය අතුරුදහන් වුවහොත්, වර්තමාන කාලය භාවිතා කරනු ලැබේ. ආකෘතිය අතුරුදන් වී ඇත්නම්, දිනය (1) නිමැවුම් වලට සමාන පෙරනිමි ආකෘතියක් භාවිතා වේ. සහතික කර ඇති ආකෘති පරිවර්තන සඳහා ANSI C හි strftime () ශ්රිතය සඳහා පිරිවිතරය බලන්න. පිටුවක පොදු වසම් සංස්කරණයක් (3) සහ එය සඳහා මිනිසා පිටුවක් යොදාගෙන තිබේ . එම අනුවාදය gawk සාදා ගැනීම සඳහා භාවිතා කරන ලදි නම් , එම man පිටුවෙහි විස්තර කර ඇති සියලු පරිවර්තනයන් gawk සඳහා ලබා ගත හැකිය .

පද්ධතිය ()

Epoch (1970-01-01 00:00:00 UTC මත POSIX පද්ධති මත) තත්පර සංඛ්යාව මෙන් වර්තමාන කාලය ආපසු ලබා දේ.

බිට් හැසිරීම් කාර්යයන්

Gawk 3.1 අනුවාදය සමඟින් , පහත දැක්වෙන bit manipulation කාර්යයන් තිබේ. ද්විත්ව නිරවද්යතාවයේ පාවෙන ලක්ෂ්ය අගයන් අනුමත නොවූ දිගු සංඛ්යා බවට පරිවර්තනය කිරීමෙන්, ක්රියාවලිය සිදු කිරීමෙන් පසුව ප්රතිඵලය ආපසු පාවාදීම වෙත පරිවර්තනය කිරීම මගින් ඔවුන් වැඩ කරයි. කර්තව්යයන් වනුයේ:

සහ ( v1 , v2 )

V1 සහ v2 විසින් සපයන ලද අගයන් සහ වාසික අගයන් නැවත ලබා දෙන්න.

compl ( val )

වාහනයේ වාෂ්ප පරිපථය නැවත ලබා දෙන්න.

lshift ( val , count )

වස්තුවේ අගය, සංඛ්යා බිටු විසින් වම් මාරු කරනු ලැබේ.

හෝ ( v1 , v2 )

V1 සහ v2 මඟින් සපයන ලද අගයන් මඟින් වාසනාවන්ත OR යන්න.

rshift ( val , count )

Val වල අගය ආපසු ගෙන, බිටු ගණන ගණනය කරනු ලැබේ.

xor ( v1 , v2 )

V1 සහ v2 විසින් සපයන ලද අගයන් මඟින් වාෂ්ප XOR.

ජාත්යන්තරකරණය

Gawk 3.1 අනුවාදය සමඟින් , ඔබේ AWK වැඩසටහන තුල ධාවන කාලය තුළ ඇති අක්ෂර පරිවර්තනය සඳහා පහත සඳහන් කාර්යයන් භාවිතා කළ හැකිය. සම්පූර්ණ විස්තර සඳහා GAWK බලන්න : කාර්යක්ෂම AWK වැඩසටහන්කරණය .

bindtextdomain ( බහලුම [ , වසම ] )

.mo ගොනු සඳහා gawk සොයන ඩිරෙක්ටරය නියම කරනු ලැබේ, ඒවාට `` සම්මත '' ස්ථානවල තැබීමට හෝ ඒවාට තැබිය නොහැකිය (නිදසුනක් වශයෙන්, පරීක්ෂා කිරීමේදී). වසම් `` බැඳී ඇති '' ඩිරෙක්ටරිය ආපසු ලබා දෙයි.

ප්රකෘති ඩොමේන් TEXTDOMAIN අගයයි . ඩිරෙක්ටරියේ නම (null string) ( "" ) නම්, bindtextdomain () දෙන ලද ඩොමේනය සඳහා වත්මන් සබැඳුම නැවත ලබා දේ.

dcgettext ( string [ , වසම [ , ප්රවර්ගය ]] )

දේශීය ප්රවර්ගයේ ප්රවර්ගයට ඩොමේන් ඩොමේන් පරිවර්තකය පරිවර්තනය කරයි. වසම් සඳහා පෙරනිමි අගය TEXTDOMAIN හි වර්තමාන අගය වේ. ප්රවර්ගය සඳහා පෙරනිමි අගය "LC_MESSAGES" වේ.

ඔබ ප්රවර්ග සඳහා අගය සැපයුවහොත් එය GAWK හි විස්තර කරන ලද හඳුනාගත් ප්රාදේශීය ප්රවර්ග වලින් එකකට සමාන විය යුතුය : කාර්යක්ෂම AWK වැඩසටහන්කරණය . ඔබ පෙළ ඩොමේනයක් ද සැපයිය යුතුය. ඔබට වර්තමාන වසම භාවිතා කිරීමට අවශ්ය නම් TEXTDOMAIN භාවිතා කරන්න.

dcngettext ( string1 , string2 , number [ , වසම [ , ප්රවර්ගය ]] )

භාෂා කාණ්ඩයේ ප්රවර්ග සඳහා ඩොමේන් 1 සහ 2 යන භාෂාවේ පරිවර්තන ගණන සඳහා යොදා ගන්නා බහු ස්වරූපය නැවත ලබා දේ. වසම් සඳහා පෙරනිමි අගය TEXTDOMAIN හි වර්තමාන අගය වේ. ප්රවර්ගය සඳහා පෙරනිමි අගය "LC_MESSAGES" වේ.

ඔබ ප්රවර්ග සඳහා අගය සැපයුවහොත් එය GAWK හි විස්තර කරන ලද හඳුනාගත් ප්රාදේශීය ප්රවර්ග වලින් එකකට සමාන විය යුතුය : කාර්යක්ෂම AWK වැඩසටහන්කරණය . ඔබ පෙළ ඩොමේනයක් ද සැපයිය යුතුය. ඔබට වර්තමාන වසම භාවිතා කිරීමට අවශ්ය නම් TEXTDOMAIN භාවිතා කරන්න.

පරිශීලක-නිර්ණිත කාර්යයන්

AWK වල කාර්යයන් පහත පරිදි අර්ථ දැක්වේ:

ශ්රිතය නම ( පරාමිති ලැයිස්තුව ) { ප්රකාශයන් }

ඒවායේ ක්රියාවන් හෝ ක්රියාවන් තුළ ප්රකාශයන් ඇතුළත කැඳවන විට ඒවා ක්රියාත්මක කරනු ලැබේ. ශ්රිතයේ ප්රකාශිත සත්ය පරාමිතීන් ශ්රිතයේ ප්රකාශිත විධිමත් පරාමිතීන් ඉදිරිපත් කිරීමට යොදා ගනී. අරා ඉසිලීම මගින් සම්මත කර ඇත, වෙනත් විචල්යයන් අගයෙන් සම්මත වේ.

කාර්යයන් ප්රාථමිකව AWK භාෂාවෙහි කොටසක් නොවන බැවින්, දේශීය විචල්යයන් සඳහා විධිවිධාන වඩා අස්ථිර වන්නේ: ඒවා පරාමිති ලැයිස්තුවේ අතිරේක පරාමිතීන් ලෙස ප්රකාශයට පත් කර ඇත. සම්මුතිය යනු පරාමිති ලැයිස්තුවේ අතිරේක අවකාශයන් මගින් සැබෑ පරාමිතීන් වලින් දේශීය විචල්යයන් වෙන් කිරීමයි. උදාහරණයක් වශයෙන්:

ශ්රිතය f (p, q, a, b) # a සහ b දේශීයව {...} / abc / {...; f (1, 2); ...}

ක්රියාකාරී ඇමතුමක් තුළ වම් වරහන් යෙදුමේ නම වහාම අනුගමනය කිරීමට අවශ්ය වන අතර, අනිවාර්ය සුදු පැහැති අවකාශයක් නොමැතිව. මෙය සංකේතාත්මක ක්රියාකරු සමග සින්ටැක්ටික් ව්යාකූලතාවයන් මග හැරීමයි. මෙම සීමාවන් ඉහත ලැයිස්තුගත කර ඇති කර්තව්යයන්ට අදාළ නොවේ.

කාර්යයන් එකිනෙකා අමතන්න හා recursive විය හැක. දේශීය විචල්යයන් ලෙස භාවිතා වන ක්රියාකාරී පරාමිතීන් null string වෙතට ආරම්භ කරන අතර ශ්රිතය විමසා බැලීමේදී සංඛ්යාත්මක ශුන්ය වේ.

ශ්රිතයක් වෙතින් අගය නැවත ලබා ගැනීමට return expr භාවිතා කරන්න. කිසිඳු අගයයක් ලබා නොදෙන විට ආපසු ලැබෙන අගය නිර්ණය නොවේ. නැතහොත් කර්තව්යය `` කපා හැරීම '' අවසන් වේ.

- ලින්ක් ලබා දී ඇත්නම් , gawk නොතිබූ කාර්යයන් ඇමතීමේ කාලයට අනුව ක්රියා කරන කාලය වෙනුවට. ධාවන වේලාව තුළ අනිශ්චිත ශ්රිතයක් ඇමතීම මාරක දෝෂයකි.

Fun functions වෙනුවට Funk වචනය භාවිතා කළ හැකිය.

අලුත් කාර්යයන් නවීකරණය කිරීම

Gawk 3.1 අනුවාදයක් සමඟින් , ඔබ විසින් ගවේෂක භාෂාවෙන් නවකථන කාර්යයන් ගතිකව භාෂාවට එක් කළ හැක. සම්පූර්ණ විස්තරය මෙම අත්පොතේ පිටුවේ විෂය පථය ඉක්මවා ඇත; GAWK බලන්න : විස්තර සඳහා කාර්යක්ෂම AWK වැඩසටහන්කරණය .

දිගුව ( වස්තුව , ශ්රිතය )

වස්තුවෙන් නම් කරන ලද පොදු වස්තු ගොනුව ඩිජිටල් ලෙස සම්බන්ධ කිරීම හා ආරම්භ කිරීම සිදු කිරීම සඳහා එම වස්තුවෙහි ශ්රිතය විමසන්න. මේවා දෙකටම සැපයිය යුතුය. කර්තව්යයකින් ආපසු ලබා දෙන අගය නැවත ලබා දේ.

GAWK හි මෙම කාර්යය ලබා දී ඇති අතර ලේඛනගත කර ඇත: කාර්යක්ෂම AWK වැඩසටහන්කරණය , නමුත් මෙම විශේෂාංගය පිළිබඳ සෑම දෙයක්ම මීලඟ නිකුතුවේ වෙනස් විය හැක. ඔබ RedOffice කිරීමට කැමති නැති දෙයක් සඳහා මෙම විශේෂාංගය භාවිතා නොකරන්නේ STRONGLY.

සින්ගල්ස්

pgawk සංඥා දෙකක් පිළිගනී. SIGUSR1 එය පැතිකඩ ගොනුවක් ඩම්ප් කිරීමට සහ වින්යාස ගොනුවේ ක්රියාකාරී ඇමුණුම් ගොනුව ක්රියාත්මක කිරීමට හේතු වේ, එනම් awkprof.out හෝ වේ, --profile විකල්පය සමඟ කුමන ගොනුවක් නම් කරන ලදි. එය දිගටම ක්රියාත්මක වේ. SIGHUP මඟින් එය පැතිකඩ ඉවත් කිරීම සහ ඇමතුම් ගතික්කය ක්රියාත්මක කිරීම සිදු කරයි.

උදාහරණ

සියලු පරිශීලකයන්ගේ පිවිසුම් නාම මුද්රණය කරන්න: BEGIN {FS = ":"} {මුද්රණය $ 1 | "sort") ගොනුවේ පේළි ගණන් කරන්න: {nlines ++} END {print nlines} ගොනුව තුල එහි එක් එක් පේළියෙහි පෙරහන: {print FNR, $ 0} සංකෝචනය සහ පේළි අංකය (තේමාවක් මත විචලනයක්): {print NR, $ 0}

අභ්යන්තරකරණය

ව්යුධිපත්ය යනු ද්විත්ව උපුටා දක්වන ලද අක්ෂර අනුපිළිවෙලකි. ඉංග්රීසි නොව භාෂා කතා කරන වාතාවරණය තුළ, ඒඩීඑච්කේ වැඩසටහනේ පේළි සලකුණ ස්වදේශීය ස්වාභාවික භාෂාවට පරිවර්තනය කිරීම අවශ්ය වේ. AWN වැඩසටහනෙහි ප්රමුඛ පෙළේ සලකුණු (`` _ '') මගින් එවැනි අක්ෂර පෙන්වනු ලැබේ. උදාහරණයක් වශයෙන්,

gawk 'BEGIN {මුද්රණය "හෙලෝ, ලෝකය"}'

සැමවිටම නිරාකරණය , ලෝකය . එහෙත්,

gawk 'BEGIN {print _ "හලෝ, ලෝකය"}'

ප්රංශයේ මොන්ඩෝ මුද්රණය කළ හැකිය.

දේශීයව AWK වැඩසටහන නිෂ්පාදනය සහ ක්රියාත්මක කිරීම සම්බන්ධව පියවර කිහිපයක් ඇත.

1.

ඔබගේ වැඩසටහන සමඟ සම්බන්ධ වූ නමක් සඳහා පෙළ වසම TEXTDOMAIN විචල්යයකට වටිනාකමක් BEGIN ක්රියාවක් එකතු කරන්න.


BEGIN {TEXTDOMAIN = "myprog"}

ඔබේ වැඩසටහන සමඟ සම්බන්ධිත .mo ගොනුව සොයා ගැනීමට gawk ඉඩ දෙයි. මෙම පියවරයෙන් තොරව, gawk පණිවිඩ පෙළ ඩොමේන් භාවිතා කරයි, ඔබේ වැඩසටහන සඳහා පරිවර්තන අඩංගු නොවේ.

2.

ප්රමුඛ පෙළ සලකුණු සමග පරිවර්තනය කළ යුතු සියලු අක්ෂර සටහන් කරන්න.

3.

අවශ්ය නම්, ඔබේ වැඩසටහන් වලදී dcgettext () සහ / හෝ bindtextdomain () කාර්යයන් භාවිතා කරන්න.

4.

ඔබේ වැඩසටහන සඳහා .po ගොනුව උත්පාදනය කරන්න gawk --gen-po -f myprog.awk> myprog.po .

5.

සුදුසු පරිවර්තන ලබා දීම, ඊට අනුරූප .mo ගොනුවක් ස්ථාපනය කර ස්ථාපනය කරන්න.

ජාත්යන්තරකරණයේ අංගයන් GAWK හි පූර්ණ විස්තර වලින් විස්තර කර ඇත: ඵලදායී AWK වැඩසටහන්කරණය .

පොසෙක්ස් අනුකූලතාව

Gawk සඳහා මූලික ඉලක්කයක් වන්නේ POSIX ප්රමිතිය සමඟ මෙන්ම UNIX awk නවතම අනුවාදය සමඟිනි. මෙම අරමුන සඳහා, gawk පහත දැක්වෙන පරිශීලක දෘශ්ය අංග AWK පොතෙහි විස්තර කර නැත, නමුත් බෙල් රසාස්ටර්තොරීන් සංස්කරණයේ කොටසකි, සහ POSIX සම්මතයේ ඇත.

පොතේ පෙන්නුම් කරන්නේ විධාන රේඛීය විචල්ය පැවරුම වන්නේ awk විසින් තර්කයක් ලෙස තර්කයක් ලෙස ගොනු විවෘත කරන විට, BEGIN කොටස ක්රියාත්මක වීමෙන් පසුවය. කෙසේ වෙතත්, පෙර ක්රියාත්මක කිරීම් වලදී, එවැනි පැවරුමක් කිසියම් ගොනු නාමයන් ඉදිරියේ පෙනී සිටියදී, BEGIN කොටස ධාවනය වීමට පෙර පැවරීම සිදුවනු ඇත. යෙදුම පැමිණියේ `` විශේෂාංගය '' ලෙසයි. ' Awk එහි ලේඛන වලට ගැලපෙන ලෙස වෙනස් වූ විට, පැරණි හැසිරීම මත රඳා පැවති යෙදුම්වලට අනුකූලව වැඩසටහන් ක්රියාත්මක කිරීමට පෙර විචල්යයන් පැවරීම සඳහා -v විකල්පය එකතු කරන ලදි. (මෙම විශේෂාංගය බෙල් රසායනාගාර හා ජීඑන්යූ සංවර්ධකයන් විසින් එකඟ විය.)

විශේෂිත විශේෂාංගයන් ක්රියාත්මක කිරීම සඳහා -W විකල්පය POSIX ප්රමිතියෙන් වේ.

තර්ක සැකසුම් කරන විට, gawk තර්ක අවසානය සංඥා කිරීම සඳහා විශේෂිත `` - '' විකල්පයක් භාවිතා කරයි. ගැලපුම් ආකාරයේ, එය අනපේක්ෂිත විකල්ප නොසලකා හැරේ. සාමාන්ය ක්රියාවලියේදී, එවැනි තර්ක කිරීම් ක්රියාවලිය සඳහා AWK වැඩසටහන වෙත පැවරේ.

AWK ග්රන්ථය srand () හි පුනරාවර්තන අගය නිර්ණය නොවේ. POSIX ප්රමිතිය අහඹු සංඛ්යා අනුපිළිවෙල අනුගමනය කිරීම සඳහා භාවිතා කරන ලද බීජ නැවත ලබා දෙයි. එබැවින් gawk srand () ද එහි වර්තමාන බීජ නැවත ලබා ගනී.

වෙනත් නව අංගයන් වනුයේ: බහු-වි විකල්පයන් (MKS awk වලින් ); ENVIRON අරාවක්; \ a , සහ \ v අනුපිළිවෙලවල් මඟහරවා ගැනීම (මුලින් ග්ලවකින් සිදුකරන ලද අතර Bell Laboratories අනුවාදය තුලට පෝෂණය වූ); tolower () සහ toupper () built-in කාර්යයන් (Bell Laboratories අනුවාදය); සහ ANSI C පරිවර්තන පිරිවිතර printf (පළමු වරට Bell Laboratories අනුවාදයේ) සිදු කරයි.

ඓතිහාසික ලක්ෂණ

ඓතිහාසික AWK ක්රියාත්මක කිරීමේ අංග දෙකක් තිබේ. පළමුවෙන්ම, එය දිගු () ඉදි කළ හැකි කාර්යයක් නොවේ තර්කයක් පමණක් නොව, වරහන් නොමැතිව පවා අමතන්න! මේ අනුව,

= දිග # ශුද්ධ ඇල්ගොල් 60, Batman!

එය එක් එක් දෙයමයි

= දිග ()
= දිග ($ 0)

මෙම අංගය POSIX ප්රමිතියේ `` නොසලකා හරින ලද '' ලෙස සලකුණු කර ඇත, සහ gawk එහි භාවිතය ගැන අනතුරු ඇඟවීමක් නිකුත් කරයි නම් - ලින්ක් විධාන රේඛාවේ නිශ්චිතව දක්වා ඇත.

අනෙක් ලක්ෂණය වනුයේ යම්කිසි කාල සීමාවක් තුළදී, පිටත හෝ බිඳවැටීමේ ප්රකාශයන් දිගටම භාවිතා කිරීමයි. සාම්ප්රදායික AWK ක්රියාත්මක කිරීම් ඊළඟ ප්රකාශයට සමාන ලෙස භාවිතා කර ඇත. - පරිපාටිය නිශ්චිතව නියම කර තිබේ නම්, මෙම භාවිතය සඳහා Gawk සහයෝගය දක්වයි.

GNU ව්යාප්ති

Gawk POSIX awk වලට දිගු ගණනාවක් ඇත. මෙම කොටසෙහි විස්තර කර ඇත. මෙහි සඳහන් සියළුම දිගු - - පාරම්පරික විකල්පයක් සමඟ gawk ඇමතීමෙන් ආබාධිත විය හැකිය.

POSIX awk හි gawk හි පහත දැක්වෙන විශේෂාංග නොමැත.

*

-f විකල්පය මඟින් නම් කරන ලද ගොනු සඳහා මාර්ග ගවේෂණය සිදු නොවේ. එබැවින් AWKPATH පරිසර විචල්යය විශේෂය නොවේ.

*

\ X බේරුම් අනුපිළිවෙල. (ආබාධ සහිත -

*

Fflush () ශ්රිතය. (ආබාධ සහිත -

*

පසු මාර්ගයන් දිගටම කරගෙන යාමේ හැකියාව ? සහ :. (ආබාධ සහිත -

*

AWK වැඩසටහන් වල ඔක්ටේන් හා hexadecimal නියතයන්.

*

ARGIND , BINMODE , ERRNO , LINT , RT සහ TEXTDOMAIN විචල්යයන් විශේෂ නොවේ.

*

IGNORECASE විචල්යය සහ එහි අතුරු ආබාධ නොපවතී.

*

FIELDWIDTHS විචල්යය සහ ස්ථාවර-පළල ක්ෂේත්ර ඛණ්ඩනය.

*

PROCINFO අරාව ලබා ගත නොහැක.

*

සාමාන්ය ප්රකාශනයක් ලෙස RS භාවිතා කිරීම.

*

I / O Redirection සඳහා විශේෂ ලිපිගොනු හඳුනාගත නොහැක.

*

සම-ක්රියාවලි නිර්මාණය සඳහා | & & ක්රියාකරු.

*

FS අගය ලෙස null ශ්රේණියක් භාවිතයෙන් තනි අක්ෂර බෙදීමේ හැකියාව සහ split () සඳහා තුන්වන තර්කය ලෙස.

*

Close () ශ්රිතය සඳහා විකල්ප දෙවන විකල්පයක්.

*

තරගය () ශ්රිතයට විකල්ප තෙවන තර්කය.

*

Printf සහ sprintf () සමඟ ස්ථානීය නියමුවන් භාවිතා කිරීමේ හැකියාව.

*

අරාවක සම්පූර්ණ අන්තර්ගතය මකා දැමීම සඳහා මකාදැමීමේ අරාව භාවිතා කිරීම.

*

වත්මන් ආදාන ගොනුව සැකසීම අත්හැර දැමීම සඳහා ඊළඟ ෆිල්ටරය භාවිතා කිරීම.

*

The සහ () , asort () , bindtextdomain () , compl () , dcgettext () , gensub () , lshift () , mktime () , හෝ () , rshift () , strftime () , strtonum () () සහ xor () කාර්යයන්.

*

දේශීයකරණය කළ හැක.

*

දිගු () ශ්රිතය සමඟ නව ක්රමලේඛ ශ්රිතයන් ගතිකව එකතු කිරීම.

AWK පොත මඟින් close () ශ්රිතයේ ප්රතිලාභ අගය අර්ථ දැක්වේ. Gawk ගේ close () පිළිවෙලින් fclose (3), හෝ pclose (3) වෙතින් නිමැවුම් ගොනුවක් හෝ නලයක් වසා දැමීමෙන් පිළිවෙලින්. ආදාන පයිප්ප වසා දැමීමේදී ක්රියාවලිය පිටවීමේ තත්වය නැවත ලබා දෙයි. ප්රතිස්ථාපනය කරන ලද අගය, -1 ලෙස නම් කරන ලද ගොනුව, නළය හෝ සම-ක්රියාවලිය නැවත හරවා යැවීමක් සිදු නොකෙරේ.

Gawk -traditional විකල්ප සමඟ ආයාචනය කරන විට, -s විකල්පයට f- argument යනු `` t '' නම්, FS ටැබ් චරිතයට සකසා ඇත. Gawk ටයිප් කිරීම -F \ t ... හුදෙක් `` t, '' උපුටා ගැනීමට හේතු වන අතර, '' \ t '' ' -F විකල්පයට' යන්න නොවේ. මෙය ඉතා අවාසනාවන්ත විශේෂ අවස්ථාවක් බැවින්, එය ප්රකෘති හැසිරීම නොවේ. - මෙම නිශ්චයනය නියම කර තිබේ නම් මෙම හැසිරීම ද සිදු නොවේ. ක්ෂේත්රයේ බෙදුම්කරු ලෙස ටැබ් චරිතයක් ලබා ගැනීම සඳහා තනි වාක්ය ඛණ්ඩයක් භාවිතා කිරීම වඩාත් සුදුසුය: gawk -F '\ t' ....

වෙනත් විධාන බලන්න : wait , lp , complete , execv , getfacl , ioctl , uniq , rmmod , pvcreate , rsh , unix2dos , cal , fs , cd , iwpriv , , කවුද , iwconfig , ifconfig , vgdisplay , විවෘත , lsmod , ntohs , mailq , kill , wtmp