gawk.cps-cvers 110 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229
  1. \initial {!}
  2. \entry {\code {!} (exclamation point), \code {!} operator}{114, 117, 121, 241}
  3. \entry {\code {!} (exclamation point), \code {!=} operator}{111, 118}
  4. \entry {\code {!} (exclamation point), \code {!~} operator}{41, 50, 51, 98, 111, 113, 118, 120}
  5. \initial {"}
  6. \entry {\code {"} (double quote) in shell commands}{14}
  7. \entry {\code {"} (double quote), in regexp constants}{51}
  8. \entry {\code {"} (double quote), in shell commands}{17}
  9. \initial {#}
  10. \entry {\code {#} (number sign), \code {#!} (executable scripts)}{15}
  11. \entry {\code {#} (number sign), commenting}{16}
  12. \initial {$}
  13. \entry {\code {$} (dollar sign), \code {$} field operator}{57, 117}
  14. \entry {\code {$} (dollar sign), incrementing fields and arrays}{109}
  15. \entry {\code {$} (dollar sign), regexp operator}{44}
  16. \initial {%}
  17. \entry {\code {%} (percent sign), \code {%} operator}{117}
  18. \entry {\code {%} (percent sign), \code {%=} operator}{107, 118}
  19. \initial {&}
  20. \entry {\code {&} (ampersand), \code {&&} operator}{114, 118}
  21. \entry {\code {&} (ampersand), \code {gsub()}/\code {gensub()}/\code {sub()} functions and}{170}
  22. \initial {'}
  23. \entry {\code {'} (single quote)}{13}
  24. \entry {\code {'} (single quote) in \command {gawk} command lines}{15}
  25. \entry {\code {'} (single quote), in shell commands}{17}
  26. \entry {\code {'} (single quote), vs.\: apostrophe}{16}
  27. \entry {\code {'} (single quote), with double quotes}{17}
  28. \initial {(}
  29. \entry {\code {()} (parentheses), in a profile}{291}
  30. \entry {\code {()} (parentheses), regexp operator}{45}
  31. \initial {*}
  32. \entry {\code {*} (asterisk), \code {*} operator, as multiplication operator}{117}
  33. \entry {\code {*} (asterisk), \code {*} operator, as regexp operator}{45}
  34. \entry {\code {*} (asterisk), \code {*} operator, null strings\comma {} matching}{173}
  35. \entry {\code {*} (asterisk), \code {**} operator}{104, 117}
  36. \entry {\code {*} (asterisk), \code {**=} operator}{107, 118}
  37. \entry {\code {*} (asterisk), \code {*=} operator}{107, 118}
  38. \initial {+}
  39. \entry {\code {+} (plus sign), \code {+} operator}{117, 118}
  40. \entry {\code {+} (plus sign), \code {++} operator}{108, 109, 117}
  41. \entry {\code {+} (plus sign), \code {+=} operator}{107, 118}
  42. \entry {\code {+} (plus sign), regexp operator}{45}
  43. \initial {,}
  44. \entry {\code {,} (comma), in range patterns}{121}
  45. \initial {-}
  46. \entry {\code {-} (hyphen), \code {-} operator}{117, 118}
  47. \entry {\code {-} (hyphen), \code {--} operator}{109, 117}
  48. \entry {\code {-} (hyphen), \code {-=} operator}{107, 118}
  49. \entry {\code {-} (hyphen), filenames beginning with}{28}
  50. \entry {\code {-} (hyphen), in bracket expressions}{47}
  51. \entry {\option {--assign} option}{28}
  52. \entry {\option {--bignum} option}{30}
  53. \entry {\option {--characters-as-bytes} option}{28}
  54. \entry {\option {--copyright} option}{28}
  55. \entry {\option {--debug} option}{29}
  56. \entry {\option {--disable-extensions} configuration option}{411}
  57. \entry {\option {--disable-lint} configuration option}{411}
  58. \entry {\option {--disable-nls} configuration option}{412}
  59. \entry {\option {--dump-variables} option}{29}
  60. \entry {\option {--dump-variables} option, using for library functions}{202}
  61. \entry {\option {--exec} option}{29}
  62. \entry {\option {--field-separator} option}{27}
  63. \entry {\option {--file} option}{27}
  64. \entry {\option {--gen-pot} option}{29, 297}
  65. \entry {\option {--help} option}{30}
  66. \entry {\option {--include} option}{30}
  67. \entry {\option {--lint} option}{27, 30}
  68. \entry {\option {--lint-old} option}{32}
  69. \entry {\option {--load} option}{30}
  70. \entry {\option {--non-decimal-data} option}{30, 279}
  71. \entry {\option {--non-decimal-data} option, \code {strtonum()} function and}{279}
  72. \entry {\option {--optimize} option}{31}
  73. \entry {\option {--posix} option}{31}
  74. \entry {\option {--posix} option, \code {--traditional} option and}{31}
  75. \entry {\option {--pretty-print} option}{31}
  76. \entry {\option {--profile} option}{31, 289}
  77. \entry {\option {--re-interval} option}{32}
  78. \entry {\option {--sandbox} option}{32}
  79. \entry {\option {--sandbox} option, disabling \code {system()} function}{174}
  80. \entry {\option {--sandbox} option, input redirection with \code {getline}}{71}
  81. \entry {\option {--sandbox} option, output redirection with \code {print}, \code {printf}}{90}
  82. \entry {\option {--source} option}{29, 32}
  83. \entry {\option {--traditional} option}{28}
  84. \entry {\option {--traditional} option, \code {--posix} option and}{31}
  85. \entry {\option {--use-lc-numeric} option}{31}
  86. \entry {\option {--version} option}{32}
  87. \entry {\option {--with-whiny-user-strftime} configuration option}{412}
  88. \entry {\option {-b} option}{28}
  89. \entry {\option {-c} option}{28}
  90. \entry {\option {-C} option}{28}
  91. \entry {\option {-d} option}{29}
  92. \entry {\option {-D} option}{29}
  93. \entry {\option {-e} option}{29}
  94. \entry {\option {-E} option}{29}
  95. \entry {\option {-f} option}{14, 27}
  96. \entry {\option {-F} option}{27}
  97. \entry {\option {-F} option, \option {-Ft} sets \code {FS} to TAB}{32}
  98. \entry {\option {-F} option, command line}{63}
  99. \entry {\option {-f} option, multiple uses}{32}
  100. \entry {\option {-g} option}{29}
  101. \entry {\option {-h} option}{30}
  102. \entry {\option {-i} option}{30}
  103. \entry {\option {-l} option}{30}
  104. \entry {\option {-L} option}{32}
  105. \entry {\option {-M} option}{30}
  106. \entry {\option {-n} option}{30}
  107. \entry {\option {-N} option}{31}
  108. \entry {\option {-o} option}{31}
  109. \entry {\option {-O} option}{31}
  110. \entry {\option {-p} option}{31}
  111. \entry {\option {-P} option}{31}
  112. \entry {\option {-r} option}{32}
  113. \entry {\option {-S} option}{32}
  114. \entry {\option {-v} option}{28, 100}
  115. \entry {\option {-V} option}{32}
  116. \entry {\option {-W} option}{28}
  117. \initial {.}
  118. \entry {\code {.} (period), regexp operator}{45}
  119. \entry {\code {.gmo} files}{294}
  120. \entry {\code {.gmo} files, converting from \code {.po}}{300}
  121. \entry {\code {.gmo} files, specifying directory of}{294, 295}
  122. \entry {\code {.po} files}{293, 297}
  123. \entry {\code {.po} files, converting to \code {.gmo}}{300}
  124. \entry {\code {.pot} files}{293}
  125. \initial {/}
  126. \entry {\code {/} (forward slash) to enclose regular expressions}{41}
  127. \entry {\code {/} (forward slash), \code {/} operator}{117}
  128. \entry {\code {/} (forward slash), \code {/=} operator}{107, 118}
  129. \entry {\code {/} (forward slash), \code {/=} operator, vs. \code {/=\dots {}/} regexp constant}{108}
  130. \entry {\code {/} (forward slash), patterns and}{120}
  131. \entry {\code {/=} operator vs. \code {/=\dots {}/} regexp constant}{108}
  132. \entry {\code {/dev/\dots {}} special files}{93}
  133. \entry {\code {/dev/fd/\var {N}} special files (\command {gawk})}{93}
  134. \entry {\code {/inet/\dots {}} special files (\command {gawk})}{287}
  135. \entry {\code {/inet4/\dots {}} special files (\command {gawk})}{287}
  136. \entry {\code {/inet6/\dots {}} special files (\command {gawk})}{287}
  137. \initial {;}
  138. \entry {\code {;} (semicolon), \code {AWKPATH} variable and}{415}
  139. \entry {\code {;} (semicolon), separating statements in actions}{24, 125, 126}
  140. \initial {<}
  141. \entry {\code {<} (left angle bracket), \code {<} operator}{111, 118}
  142. \entry {\code {<} (left angle bracket), \code {<} operator (I/O)}{73}
  143. \entry {\code {<} (left angle bracket), \code {<=} operator}{111, 118}
  144. \initial {=}
  145. \entry {\code {=} (equals sign), \code {=} operator}{106}
  146. \entry {\code {=} (equals sign), \code {==} operator}{111, 118}
  147. \initial {>}
  148. \entry {\code {>} (right angle bracket), \code {>} operator}{111, 118}
  149. \entry {\code {>} (right angle bracket), \code {>} operator (I/O)}{90}
  150. \entry {\code {>} (right angle bracket), \code {>=} operator}{111, 118}
  151. \entry {\code {>} (right angle bracket), \code {>>} operator (I/O)}{90, 118}
  152. \initial {?}
  153. \entry {\code {?} (question mark), \code {?:} operator}{118}
  154. \entry {\code {?} (question mark), regexp operator}{46, 49}
  155. \initial {[}
  156. \entry {\code {[]} (square brackets), regexp operator}{45}
  157. \initial {^}
  158. \entry {\code {^} (caret), \code {^} operator}{117}
  159. \entry {\code {^} (caret), \code {^=} operator}{107, 118}
  160. \entry {\code {^} (caret), in bracket expressions}{47}
  161. \entry {\code {^} (caret), in \code {FS}}{62}
  162. \entry {\code {^} (caret), regexp operator}{44, 49}
  163. \initial {_}
  164. \entry {\code {_} (underscore), C macro}{294}
  165. \entry {\code {_} (underscore), in names of private variables}{202}
  166. \entry {\code {_} (underscore), translatable string}{296}
  167. \entry {\code {_gr_init()} user-defined function}{227}
  168. \entry {\code {_ord_init()} user-defined function}{207}
  169. \entry {\code {_pw_init()} user-defined function}{223}
  170. \initial {{\tt \indexbackslash }}
  171. \entry {\code {{\tt \backslashcurfont }} (backslash)}{16}
  172. \entry {\code {{\tt \backslashcurfont }} (backslash) in shell commands}{14}
  173. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }"} escape sequence}{43}
  174. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }'} operator (\command {gawk})}{49}
  175. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }/} escape sequence}{43}
  176. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }<} operator (\command {gawk})}{48}
  177. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }>} operator (\command {gawk})}{48}
  178. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }`} operator (\command {gawk})}{49}
  179. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }a} escape sequence}{42}
  180. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }b} escape sequence}{42}
  181. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }B} operator (\command {gawk})}{48}
  182. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }f} escape sequence}{42}
  183. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }n} escape sequence}{42}
  184. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }}\var {nnn} escape sequence}{42}
  185. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }r} escape sequence}{42}
  186. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }s} operator (\command {gawk})}{48}
  187. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }S} operator (\command {gawk})}{48}
  188. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }t} escape sequence}{42}
  189. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }v} escape sequence}{42}
  190. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }w} operator (\command {gawk})}{48}
  191. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }W} operator (\command {gawk})}{48}
  192. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }x} escape sequence}{42}
  193. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {{\tt \backslashcurfont }y} operator (\command {gawk})}{48}
  194. \entry {\code {{\tt \backslashcurfont }} (backslash), as field separator}{63}
  195. \entry {\code {{\tt \backslashcurfont }} (backslash), continuing lines and}{23, 242}
  196. \entry {\code {{\tt \backslashcurfont }} (backslash), continuing lines and, comments and}{24}
  197. \entry {\code {{\tt \backslashcurfont }} (backslash), continuing lines and, in \command {csh}}{23}
  198. \entry {\code {{\tt \backslashcurfont }} (backslash), \code {gsub()}/\code {gensub()}/\code {sub()} functions and}{170}
  199. \entry {\code {{\tt \backslashcurfont }} (backslash), in bracket expressions}{47}
  200. \entry {\code {{\tt \backslashcurfont }} (backslash), in escape sequences}{42, 43}
  201. \entry {\code {{\tt \backslashcurfont }} (backslash), in escape sequences, POSIX and}{44}
  202. \entry {\code {{\tt \backslashcurfont }} (backslash), in regexp constants}{51}
  203. \entry {\code {{\tt \backslashcurfont }} (backslash), in shell commands}{17}
  204. \entry {\code {{\tt \backslashcurfont }} (backslash), regexp operator}{44}
  205. \initial {|}
  206. \entry {\code {|} (vertical bar)}{45}
  207. \entry {\code {|} (vertical bar), \code {|} operator (I/O)}{74, 90, 118}
  208. \entry {\code {|} (vertical bar), \code {|&} operator (I/O)}{75, 91, 118, 286}
  209. \entry {\code {|} (vertical bar), \code {|&} operator (I/O), pipes\comma {} closing}{96}
  210. \entry {\code {|} (vertical bar), \code {||} operator}{114, 118}
  211. \entry {\code {{\tt \char 123}{\tt \char 125}} (braces)}{291}
  212. \entry {\code {{\tt \char 123}{\tt \char 125}} (braces), actions and}{125}
  213. \entry {\code {{\tt \char 123}{\tt \char 125}} (braces), statements, grouping}{126}
  214. \initial {~}
  215. \entry {\code {~} (tilde), \code {~} operator}{41, 50, 51, 98, 111, 113, 118, 120}
  216. \initial {A}
  217. \entry {accessing fields}{56}
  218. \entry {accessing global variables from extensions}{352}
  219. \entry {account information}{221, 225}
  220. \entry {actions}{125}
  221. \entry {actions, control statements in}{126}
  222. \entry {actions, default}{20}
  223. \entry {actions, empty}{20}
  224. \entry {Ada programming language}{439}
  225. \entry {adding, features to \command {gawk}}{426}
  226. \entry {adding, fields}{59}
  227. \entry {advanced features, fixed-width data}{66}
  228. \entry {advanced features, \command {gawk}}{279}
  229. \entry {advanced features, network programming}{287}
  230. \entry {advanced features, nondecimal input data}{279}
  231. \entry {advanced features, processes\comma {} communicating with}{286}
  232. \entry {advanced features, specifying field content}{67}
  233. \entry {Aho, Alfred}{4, 403}
  234. \entry {alarm clock example program}{254}
  235. \entry {\code {alarm.awk} program}{254}
  236. \entry {algorithms}{436}
  237. \entry {allocating memory for extensions}{342}
  238. \entry {Alpha (DEC)}{8}
  239. \entry {amazing \command {awk} assembler (\command {aaa})}{439}
  240. \entry {amazingly workable formatter (\command {awf})}{439}
  241. \entry {ambiguity, syntactic: \code {/=} operator vs. \code {/=\dots {}/} regexp constant}{108}
  242. \entry {ampersand (\code {&}), \code {&&} operator}{114, 118}
  243. \entry {ampersand (\code {&}), \code {gsub()}/\code {gensub()}/\code {sub()} functions and}{170}
  244. \entry {\code {anagram.awk} program}{274}
  245. \entry {anagrams, finding}{274}
  246. \entry {AND bitwise operation}{181}
  247. \entry {and Boolean-logic operator}{113}
  248. \entry {\code {and()} function (\command {gawk})}{181}
  249. \entry {ANSI}{439}
  250. \entry {API informational variables}{365}
  251. \entry {API version}{365}
  252. \entry {arbitrary precision}{319}
  253. \entry {arbitrary precision integers}{332}
  254. \entry {archeologists}{420}
  255. \entry {arctangent}{160}
  256. \entry {\code {ARGC}/\code {ARGV} variables}{137}
  257. \entry {\code {ARGC}/\code {ARGV} variables, command-line arguments}{33}
  258. \entry {\code {ARGC}/\code {ARGV} variables, how to use}{143}
  259. \entry {\code {ARGC}/\code {ARGV} variables, portability and}{16}
  260. \entry {\code {ARGIND} variable}{138}
  261. \entry {\code {ARGIND} variable, command-line arguments}{33}
  262. \entry {arguments, command-line}{33, 137, 143}
  263. \entry {arguments, command-line, invoking \command {awk}}{27}
  264. \entry {arguments, in function calls}{116}
  265. \entry {arguments, processing}{216}
  266. \entry {\code {ARGV} array, indexing into}{33}
  267. \entry {arithmetic operators}{103}
  268. \entry {array manipulation in extensions}{356}
  269. \entry {array members}{146}
  270. \entry {array scanning order, controlling}{149}
  271. \entry {array, number of elements}{164}
  272. \entry {arrays}{145}
  273. \entry {arrays of arrays}{156}
  274. \entry {arrays, an example of using}{147}
  275. \entry {arrays, and \code {IGNORECASE} variable}{146}
  276. \entry {arrays, as parameters to functions}{190}
  277. \entry {arrays, associative}{146}
  278. \entry {arrays, associative, library functions and}{202}
  279. \entry {arrays, deleting entire contents}{152}
  280. \entry {arrays, elements that don't exist}{147}
  281. \entry {arrays, elements, assigning values}{147}
  282. \entry {arrays, elements, deleting}{151}
  283. \entry {arrays, elements, order of access by \code {in} operator}{149}
  284. \entry {arrays, elements, retrieving number of}{161}
  285. \entry {arrays, \code {for} statement and}{148}
  286. \entry {arrays, indexing}{146}
  287. \entry {arrays, merging into strings}{209}
  288. \entry {arrays, multidimensional}{154}
  289. \entry {arrays, multidimensional, scanning}{155}
  290. \entry {arrays, names of, and names of functions/variables}{145}
  291. \entry {arrays, numeric subscripts}{153}
  292. \entry {arrays, referencing elements}{146}
  293. \entry {arrays, scanning}{148}
  294. \entry {arrays, sorting}{284}
  295. \entry {arrays, sorting, and \code {IGNORECASE} variable}{285}
  296. \entry {arrays, sparse}{146}
  297. \entry {arrays, subscripts, uninitialized variables as}{153}
  298. \entry {arrays, unassigned elements}{147}
  299. \entry {artificial intelligence\comma {} \command {gawk} and}{408}
  300. \entry {ASCII}{208, 440}
  301. \entry {\code {asort()} function (\command {gawk})}{161, 284}
  302. \entry {\code {asort()} function (\command {gawk}), arrays\comma {} sorting}{284}
  303. \entry {\code {asorti()} function (\command {gawk})}{161, 284}
  304. \entry {\code {asorti()} function (\command {gawk}), arrays\comma {} sorting}{284}
  305. \entry {\code {assert()} function (C library)}{204}
  306. \entry {\code {assert()} user-defined function}{205}
  307. \entry {assertions}{204}
  308. \entry {assign values to variables, in debugger}{312}
  309. \entry {assignment operators}{106}
  310. \entry {assignment operators, evaluation order}{107}
  311. \entry {assignment operators, lvalues/rvalues}{106}
  312. \entry {assignments as filenames}{216}
  313. \entry {associative arrays}{146}
  314. \entry {asterisk (\code {*}), \code {*} operator, as multiplication operator}{117}
  315. \entry {asterisk (\code {*}), \code {*} operator, as regexp operator}{45}
  316. \entry {asterisk (\code {*}), \code {*} operator, null strings\comma {} matching}{173}
  317. \entry {asterisk (\code {*}), \code {**} operator}{104, 117}
  318. \entry {asterisk (\code {*}), \code {**=} operator}{107, 118}
  319. \entry {asterisk (\code {*}), \code {*=} operator}{107, 118}
  320. \entry {\code {atan2()} function}{160}
  321. \entry {automatic displays, in debugger}{313}
  322. \entry {\command {awf} (amazingly workable formatter) program}{439}
  323. \entry {\command {awk} debugging, enabling}{29}
  324. \entry {\command {awk} language, POSIX version}{108}
  325. \entry {\command {awk} profiling, enabling}{31}
  326. \entry {\command {awk} programs}{13, 15, 21}
  327. \entry {\command {awk} programs, complex}{25}
  328. \entry {\command {awk} programs, documenting}{16, 202}
  329. \entry {\command {awk} programs, examples of}{233}
  330. \entry {\command {awk} programs, execution of}{132}
  331. \entry {\command {awk} programs, internationalizing}{183, 295}
  332. \entry {\command {awk} programs, lengthy}{14}
  333. \entry {\command {awk} programs, lengthy, assertions}{204}
  334. \entry {\command {awk} programs, location of}{27, 29, 30}
  335. \entry {\command {awk} programs, one-line examples}{20}
  336. \entry {\command {awk} programs, profiling}{289}
  337. \entry {\command {awk} programs, running}{13, 14}
  338. \entry {\command {awk} programs, running, from shell scripts}{13}
  339. \entry {\command {awk} programs, running, without input files}{14}
  340. \entry {\command {awk} programs, shell variables in}{124}
  341. \entry {\command {awk}, function of}{13}
  342. \entry {\command {awk}, \command {gawk} and}{3, 5}
  343. \entry {\command {awk}, history of}{4}
  344. \entry {\command {awk}, implementation issues, pipes}{92}
  345. \entry {\command {awk}, implementations}{421}
  346. \entry {\command {awk}, implementations, limits}{76}
  347. \entry {\command {awk}, invoking}{27}
  348. \entry {\command {awk}, new vs.\: old}{4}
  349. \entry {\command {awk}, new vs.\: old, \code {OFMT} variable}{102}
  350. \entry {\command {awk}, POSIX and}{3}
  351. \entry {\command {awk}, POSIX and, See Also POSIX \command {awk}}{3}
  352. \entry {\command {awk}, regexp constants and}{113}
  353. \entry {\command {awk}, See Also \command {gawk}}{3}
  354. \entry {\command {awk}, terms describing}{5}
  355. \entry {\command {awk}, uses for}{3, 13, 24}
  356. \entry {\command {awk}, versions of}{4, 391}
  357. \entry {\command {awk}, versions of, changes between SVR3.1 and SVR4}{392}
  358. \entry {\command {awk}, versions of, changes between SVR4 and POSIX \command {awk}}{392}
  359. \entry {\command {awk}, versions of, changes between V7 and SVR3.1}{391}
  360. \entry {\command {awk}, versions of, See Also Brian Kernighan's \command {awk}}{393, 421}
  361. \entry {\command {awka} compiler for \command {awk}}{422}
  362. \entry {\env {AWKLIBPATH} environment variable}{35}
  363. \entry {\env {AWKPATH} environment variable}{34, 415}
  364. \entry {\code {awkprof.out} file}{289}
  365. \entry {\command {awksed.awk} program}{267}
  366. \entry {\file {awkvars.out} file}{29}
  367. \initial {B}
  368. \entry {\code {b} debugger command (alias for \code {break})}{308}
  369. \entry {backslash (\code {{\tt \backslashcurfont }})}{16}
  370. \entry {backslash (\code {{\tt \backslashcurfont }}) in shell commands}{14}
  371. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }"} escape sequence}{43}
  372. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }'} operator (\command {gawk})}{49}
  373. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }/} escape sequence}{43}
  374. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }<} operator (\command {gawk})}{48}
  375. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }>} operator (\command {gawk})}{48}
  376. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }`} operator (\command {gawk})}{49}
  377. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }a} escape sequence}{42}
  378. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }b} escape sequence}{42}
  379. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }B} operator (\command {gawk})}{48}
  380. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }f} escape sequence}{42}
  381. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }n} escape sequence}{42}
  382. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }}\var {nnn} escape sequence}{42}
  383. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }r} escape sequence}{42}
  384. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }s} operator (\command {gawk})}{48}
  385. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }S} operator (\command {gawk})}{48}
  386. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }t} escape sequence}{42}
  387. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }v} escape sequence}{42}
  388. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }w} operator (\command {gawk})}{48}
  389. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }W} operator (\command {gawk})}{48}
  390. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }x} escape sequence}{42}
  391. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {{\tt \backslashcurfont }y} operator (\command {gawk})}{48}
  392. \entry {backslash (\code {{\tt \backslashcurfont }}), as field separator}{63}
  393. \entry {backslash (\code {{\tt \backslashcurfont }}), continuing lines and}{23, 242}
  394. \entry {backslash (\code {{\tt \backslashcurfont }}), continuing lines and, comments and}{24}
  395. \entry {backslash (\code {{\tt \backslashcurfont }}), continuing lines and, in \command {csh}}{23}
  396. \entry {backslash (\code {{\tt \backslashcurfont }}), \code {gsub()}/\code {gensub()}/\code {sub()} functions and}{170}
  397. \entry {backslash (\code {{\tt \backslashcurfont }}), in bracket expressions}{47}
  398. \entry {backslash (\code {{\tt \backslashcurfont }}), in escape sequences}{42, 43}
  399. \entry {backslash (\code {{\tt \backslashcurfont }}), in escape sequences, POSIX and}{44}
  400. \entry {backslash (\code {{\tt \backslashcurfont }}), in regexp constants}{51}
  401. \entry {backslash (\code {{\tt \backslashcurfont }}), in shell commands}{17}
  402. \entry {backslash (\code {{\tt \backslashcurfont }}), regexp operator}{44}
  403. \entry {\code {backtrace} debugger command}{312}
  404. \entry {Beebe, Nelson H.F.\:}{10, 422}
  405. \entry {\code {BEGIN} pattern}{61, 122}
  406. \entry {\code {BEGIN} pattern, and profiling}{289}
  407. \entry {\code {BEGIN} pattern, \code {assert()} user-defined function and}{205}
  408. \entry {\code {BEGIN} pattern, Boolean patterns and}{121}
  409. \entry {\code {BEGIN} pattern, \code {exit} statement and}{134}
  410. \entry {\code {BEGIN} pattern, \code {getline} and}{76}
  411. \entry {\code {BEGIN} pattern, headings\comma {} adding}{82}
  412. \entry {\code {BEGIN} pattern, \code {next}/\code {nextfile} statements and}{123, 133}
  413. \entry {\code {BEGIN} pattern, \code {OFS}/\code {ORS} variables, assigning values to}{83}
  414. \entry {\code {BEGIN} pattern, operators and}{122}
  415. \entry {\code {BEGIN} pattern, \code {print} statement and}{123}
  416. \entry {\code {BEGIN} pattern, \code {pwcat} program}{224}
  417. \entry {\code {BEGIN} pattern, running \command {awk} programs and}{234}
  418. \entry {\code {BEGIN} pattern, \code {TEXTDOMAIN} variable and}{296}
  419. \entry {\code {BEGINFILE} pattern}{123}
  420. \entry {\code {BEGINFILE} pattern, Boolean patterns and}{121}
  421. \entry {\code {beginfile()} user-defined function}{213}
  422. \entry {Bentley, Jon}{441}
  423. \entry {Benzinger, Michael}{404}
  424. \entry {Berry, Karl}{10, 403}
  425. \entry {binary input/output}{135}
  426. \entry {\code {bindtextdomain()} function (C library)}{294}
  427. \entry {\code {bindtextdomain()} function (\command {gawk})}{183, 295}
  428. \entry {\code {bindtextdomain()} function (\command {gawk}), portability and}{299}
  429. \entry {\code {BINMODE} variable}{135, 415}
  430. \entry {bit-manipulation functions}{181}
  431. \entry {\code {bits2str()} user-defined function}{182}
  432. \entry {bitwise AND}{181}
  433. \entry {bitwise complement}{181}
  434. \entry {bitwise OR}{181}
  435. \entry {bitwise XOR}{182}
  436. \entry {bitwise, complement}{181}
  437. \entry {bitwise, operations}{181}
  438. \entry {bitwise, shift}{181}
  439. \entry {body, in actions}{126}
  440. \entry {body, in loops}{127}
  441. \entry {Boolean expressions}{113}
  442. \entry {Boolean expressions, as patterns}{120}
  443. \entry {Boolean operators, See Boolean expressions}{113}
  444. \entry {Bourne shell, quoting rules for}{17}
  445. \entry {braces (\code {{\tt \char 123}{\tt \char 125}})}{291}
  446. \entry {braces (\code {{\tt \char 123}{\tt \char 125}}), actions and}{125}
  447. \entry {braces (\code {{\tt \char 123}{\tt \char 125}}), statements, grouping}{126}
  448. \entry {bracket expressions}{45, 47}
  449. \entry {bracket expressions, character classes}{47}
  450. \entry {bracket expressions, collating elements}{48}
  451. \entry {bracket expressions, collating symbols}{48}
  452. \entry {bracket expressions, complemented}{45}
  453. \entry {bracket expressions, equivalence classes}{48}
  454. \entry {bracket expressions, non-ASCII}{48}
  455. \entry {bracket expressions, range expressions}{47}
  456. \entry {\code {break} debugger command}{308}
  457. \entry {\code {break} statement}{130}
  458. \entry {breakpoint}{304}
  459. \entry {breakpoint at location, how to delete}{309}
  460. \entry {breakpoint commands}{310}
  461. \entry {breakpoint condition}{309}
  462. \entry {breakpoint, delete by number}{309}
  463. \entry {breakpoint, how to disable or enable}{309}
  464. \entry {breakpoint, setting}{308}
  465. \entry {Brennan, Michael}{2, 152, 267, 285, 421, 422}
  466. \entry {Brian Kernighan's \command {awk}}{3, 25, 44, 49, 62, 75, 105, 123, 131, 132, 133, 152, 169, 170, 174}
  467. \entry {Brian Kernighan's \command {awk}, extensions}{393}
  468. \entry {Brian Kernighan's \command {awk}, source code}{421}
  469. \entry {Brini, Davide}{276}
  470. \entry {Broder, Alan J.\:}{404}
  471. \entry {Brown, Martin}{404}
  472. \entry {BSD-based operating systems}{448}
  473. \entry {\code {bt} debugger command (alias for \code {backtrace})}{312}
  474. \entry {Buening, Andreas}{10, 404, 421}
  475. \entry {buffering, input/output}{176, 286}
  476. \entry {buffering, interactive vs.\: noninteractive}{175}
  477. \entry {buffers, flushing}{173, 176}
  478. \entry {buffers, operators for}{49}
  479. \entry {bug reports, email address, \code {bug-gawk@gnu.org}}{420}
  480. \entry {\code {bug-gawk@gnu.org} bug reporting address}{420}
  481. \entry {built-in functions}{159}
  482. \entry {built-in functions, evaluation order}{159}
  483. \entry {built-in variables}{134}
  484. \entry {built-in variables, \code {-v} option\comma {} setting with}{28}
  485. \entry {built-in variables, conveying information}{137}
  486. \entry {built-in variables, user-modifiable}{135}
  487. \entry {Busybox Awk}{422}
  488. \initial {C}
  489. \entry {call by reference}{190}
  490. \entry {call by value}{189}
  491. \entry {call stack, display in debugger}{312}
  492. \entry {caret (\code {^}), \code {^} operator}{117}
  493. \entry {caret (\code {^}), \code {^=} operator}{107, 118}
  494. \entry {caret (\code {^}), in bracket expressions}{47}
  495. \entry {caret (\code {^}), regexp operator}{44, 49}
  496. \entry {\code {case} keyword}{129}
  497. \entry {case sensitivity, and regexps}{136}
  498. \entry {case sensitivity, and string comparisons}{136}
  499. \entry {case sensitivity, array indices and}{146}
  500. \entry {case sensitivity, converting case}{169}
  501. \entry {case sensitivity, example programs}{201}
  502. \entry {case sensitivity, \command {gawk}}{50}
  503. \entry {case sensitivity, regexps and}{49}
  504. \entry {CGI, \command {awk} scripts for}{29}
  505. \entry {changing precision of a number}{331}
  506. \entry {character classes, See bracket expressions}{45}
  507. \entry {character lists in regular expression}{47}
  508. \entry {character lists, See bracket expressions}{45}
  509. \entry {character sets (machine character encodings)}{208, 440}
  510. \entry {character sets, See Also bracket expressions}{45}
  511. \entry {characters, counting}{251}
  512. \entry {characters, transliterating}{257}
  513. \entry {characters, values of as numbers}{207}
  514. \entry {Chassell, Robert J.\:}{10}
  515. \entry {\code {chdir()} extension function}{378}
  516. \entry {\command {chem} utility}{441}
  517. \entry {\code {chr()} extension function}{383}
  518. \entry {\code {chr()} user-defined function}{207}
  519. \entry {\code {clear} debugger command}{309}
  520. \entry {Cliff random numbers}{206}
  521. \entry {\code {cliff_rand()} user-defined function}{206}
  522. \entry {close file or coprocess}{173}
  523. \entry {\code {close()} function}{94, 173}
  524. \entry {\code {close()} function, portability}{95}
  525. \entry {\code {close()} function, return value}{96}
  526. \entry {\code {close()} function, two-way pipes and}{286}
  527. \entry {Close, Diane}{8, 403}
  528. \entry {Collado, Manuel}{10}
  529. \entry {collating elements}{48}
  530. \entry {collating symbols}{48}
  531. \entry {Colombo, Antonio}{10, 405}
  532. \entry {columns, aligning}{82}
  533. \entry {columns, cutting}{233}
  534. \entry {comma (\code {,}), in range patterns}{121}
  535. \entry {command completion, in debugger}{316}
  536. \entry {command line, arguments}{33, 137, 143}
  537. \entry {command line, directories on}{79}
  538. \entry {command line, formats}{13}
  539. \entry {command line, \code {FS} on\comma {} setting}{63}
  540. \entry {command line, invoking \command {awk} from}{27}
  541. \entry {command line, option \option {-f}}{14}
  542. \entry {command line, options}{27}
  543. \entry {command line, options, end of}{28}
  544. \entry {command line, variables\comma {} assigning on}{100}
  545. \entry {command-line options, processing}{216}
  546. \entry {command-line options, string extraction}{297}
  547. \entry {\code {commands} debugger command}{310}
  548. \entry {commands to execute at breakpoint}{310}
  549. \entry {commenting}{16}
  550. \entry {commenting, backslash continuation and}{24}
  551. \entry {common extensions, \code {**} operator}{104}
  552. \entry {common extensions, \code {**=} operator}{108}
  553. \entry {common extensions, \code {/dev/stderr} special file}{93}
  554. \entry {common extensions, \code {/dev/stdin} special file}{93}
  555. \entry {common extensions, \code {/dev/stdout} special file}{93}
  556. \entry {common extensions, \code {{\tt \backslashcurfont }x} escape sequence}{42}
  557. \entry {common extensions, \code {BINMODE} variable}{415}
  558. \entry {common extensions, \code {delete} to delete entire arrays}{152}
  559. \entry {common extensions, \code {func} keyword}{185}
  560. \entry {common extensions, \code {length()} applied to an array}{164}
  561. \entry {common extensions, \code {RS} as a regexp}{55}
  562. \entry {common extensions, single character fields}{63}
  563. \entry {\code {comp.lang.awk} newsgroup}{420}
  564. \entry {comparison expressions}{110}
  565. \entry {comparison expressions, as patterns}{120}
  566. \entry {comparison expressions, string vs.\: regexp}{113}
  567. \entry {compatibility mode (\command {gawk}), extensions}{393}
  568. \entry {compatibility mode (\command {gawk}), file names}{94}
  569. \entry {compatibility mode (\command {gawk}), hexadecimal numbers}{98}
  570. \entry {compatibility mode (\command {gawk}), octal numbers}{98}
  571. \entry {compatibility mode (\command {gawk}), specifying}{28}
  572. \entry {compiled programs}{435, 441}
  573. \entry {compiling \command {gawk} for Cygwin}{416}
  574. \entry {compiling \command {gawk} for MS-DOS and MS-Windows}{413}
  575. \entry {compiling \command {gawk} for VMS}{417}
  576. \entry {compiling \command {gawk} with EMX for OS/2}{414}
  577. \entry {\code {compl()} function (\command {gawk})}{181}
  578. \entry {complement, bitwise}{181}
  579. \entry {compound statements\comma {} control statements and}{126}
  580. \entry {concatenating}{104}
  581. \entry {\code {condition} debugger command}{309}
  582. \entry {conditional expressions}{115}
  583. \entry {configuration option, \code {--disable-extensions}}{411}
  584. \entry {configuration option, \code {--disable-lint}}{411}
  585. \entry {configuration option, \code {--disable-nls}}{412}
  586. \entry {configuration option, \code {--with-whiny-user-strftime}}{412}
  587. \entry {configuration options\comma {} \command {gawk}}{411}
  588. \entry {constant regexps}{42}
  589. \entry {constants, floating-point}{330}
  590. \entry {constants, nondecimal}{279}
  591. \entry {constants, numeric}{97}
  592. \entry {constants, types of}{97}
  593. \entry {context, floating-point}{326}
  594. \entry {continue program, in debugger}{310}
  595. \entry {\code {continue} statement}{131}
  596. \entry {control statements}{126}
  597. \entry {controlling array scanning order}{149}
  598. \entry {convert string to lower case}{170}
  599. \entry {convert string to number}{167}
  600. \entry {convert string to upper case}{170}
  601. \entry {converting integer array subscripts}{153}
  602. \entry {converting, dates to timestamps}{177}
  603. \entry {converting, numbers to strings}{101, 183}
  604. \entry {converting, strings to numbers}{101, 183}
  605. \entry {\code {CONVFMT} variable}{101, 135}
  606. \entry {\code {CONVFMT} variable, and array subscripts}{153}
  607. \entry {cookie}{441}
  608. \entry {coprocesses}{91, 286}
  609. \entry {coprocesses, closing}{94}
  610. \entry {coprocesses, \code {getline} from}{75}
  611. \entry {\code {cos()} function}{160}
  612. \entry {cosine}{160}
  613. \entry {counting}{251}
  614. \entry {\command {csh} utility}{23}
  615. \entry {\command {csh} utility, \code {|&} operator, comparison with}{286}
  616. \entry {\command {csh} utility, \env {POSIXLY_CORRECT} environment variable}{33}
  617. \entry {\code {ctime()} user-defined function}{186}
  618. \entry {currency symbols, localization}{294}
  619. \entry {current system time}{177}
  620. \entry {\code {custom.h} file}{412}
  621. \entry {customized input parser}{345}
  622. \entry {customized output wrapper}{349}
  623. \entry {customized two-way processor}{350}
  624. \entry {\command {cut} utility}{233}
  625. \entry {\code {cut.awk} program}{234}
  626. \initial {D}
  627. \entry {\code {d} debugger command (alias for \code {delete})}{309}
  628. \entry {d.c., See dark corner}{7}
  629. \entry {dark corner}{7, 441}
  630. \entry {dark corner, \code {"0"} is actually true}{110}
  631. \entry {dark corner, \code {/=} operator vs. \code {/=\dots {}/} regexp constant}{108}
  632. \entry {dark corner, \code {^}, in \code {FS}}{62}
  633. \entry {dark corner, array subscripts}{154}
  634. \entry {dark corner, \code {break} statement}{131}
  635. \entry {dark corner, \code {close()} function}{96}
  636. \entry {dark corner, command-line arguments}{101}
  637. \entry {dark corner, \code {continue} statement}{132}
  638. \entry {dark corner, \code {CONVFMT} variable}{102}
  639. \entry {dark corner, escape sequences}{33}
  640. \entry {dark corner, escape sequences, for metacharacters}{44}
  641. \entry {dark corner, \code {exit} statement}{134}
  642. \entry {dark corner, field separators}{65}
  643. \entry {dark corner, \code {FILENAME} variable}{76, 139}
  644. \entry {dark corner, \code {FNR}/\code {NR} variables}{143}
  645. \entry {dark corner, format-control characters}{85, 86}
  646. \entry {dark corner, \code {FS} as null string}{63}
  647. \entry {dark corner, input files}{55}
  648. \entry {dark corner, invoking \command {awk}}{27}
  649. \entry {dark corner, \code {length()} function}{164}
  650. \entry {dark corner, locale's decimal point character}{102}
  651. \entry {dark corner, multiline records}{69}
  652. \entry {dark corner, \code {NF} variable, decrementing}{60}
  653. \entry {dark corner, \code {OFMT} variable}{84}
  654. \entry {dark corner, regexp constants}{99}
  655. \entry {dark corner, regexp constants, \code {/=} operator and}{108}
  656. \entry {dark corner, regexp constants, as arguments to user-defined functions}{99}
  657. \entry {dark corner, \code {split()} function}{167}
  658. \entry {dark corner, strings, storing}{56}
  659. \entry {dark corner, value of \code {ARGV[0]}}{138}
  660. \entry {data, fixed-width}{66}
  661. \entry {data-driven languages}{436}
  662. \entry {database, group, reading}{225}
  663. \entry {database, users\comma {} reading}{221}
  664. \entry {\command {date} utility, GNU}{176}
  665. \entry {\code {date} utility, POSIX}{180}
  666. \entry {dates, converting to timestamps}{177}
  667. \entry {dates, information related to\comma {} localization}{295}
  668. \entry {Davies, Stephen}{10, 404}
  669. \entry {\code {dcgettext()} function (\command {gawk})}{183, 295}
  670. \entry {\code {dcgettext()} function (\command {gawk}), portability and}{299}
  671. \entry {\code {dcngettext()} function (\command {gawk})}{184, 295}
  672. \entry {\code {dcngettext()} function (\command {gawk}), portability and}{299}
  673. \entry {deadlocks}{286}
  674. \entry {debugger commands, \code {b} (\code {break})}{308}
  675. \entry {debugger commands, \code {backtrace}}{312}
  676. \entry {debugger commands, \code {break}}{308}
  677. \entry {debugger commands, \code {bt} (\code {backtrace})}{312}
  678. \entry {debugger commands, \code {c} (\code {continue})}{310}
  679. \entry {debugger commands, \code {clear}}{309}
  680. \entry {debugger commands, \code {commands}}{310}
  681. \entry {debugger commands, \code {condition}}{309}
  682. \entry {debugger commands, \code {continue}}{310}
  683. \entry {debugger commands, \code {d} (\code {delete})}{309}
  684. \entry {debugger commands, \code {delete}}{309}
  685. \entry {debugger commands, \code {disable}}{309}
  686. \entry {debugger commands, \code {display}}{311}
  687. \entry {debugger commands, \code {down}}{313}
  688. \entry {debugger commands, \code {dump}}{314}
  689. \entry {debugger commands, \code {e} (\code {enable})}{309}
  690. \entry {debugger commands, \code {enable}}{309}
  691. \entry {debugger commands, \code {end}}{310}
  692. \entry {debugger commands, \code {eval}}{311}
  693. \entry {debugger commands, \code {f} (\code {frame})}{313}
  694. \entry {debugger commands, \code {finish}}{310}
  695. \entry {debugger commands, \code {frame}}{313}
  696. \entry {debugger commands, \code {h} (\code {help})}{315}
  697. \entry {debugger commands, \code {help}}{315}
  698. \entry {debugger commands, \code {i} (\code {info})}{313}
  699. \entry {debugger commands, \code {ignore}}{310}
  700. \entry {debugger commands, \code {info}}{313}
  701. \entry {debugger commands, \code {l} (\code {list})}{315}
  702. \entry {debugger commands, \code {list}}{315}
  703. \entry {debugger commands, \code {n} (\code {next})}{310}
  704. \entry {debugger commands, \code {next}}{310}
  705. \entry {debugger commands, \code {nexti}}{310}
  706. \entry {debugger commands, \code {ni} (\code {nexti})}{310}
  707. \entry {debugger commands, \code {o} (\code {option})}{314}
  708. \entry {debugger commands, \code {option}}{314}
  709. \entry {debugger commands, \code {p} (\code {print})}{311}
  710. \entry {debugger commands, \code {print}}{311}
  711. \entry {debugger commands, \code {printf}}{312}
  712. \entry {debugger commands, \code {q} (\code {quit})}{316}
  713. \entry {debugger commands, \code {quit}}{316}
  714. \entry {debugger commands, \code {r} (\code {run})}{311}
  715. \entry {debugger commands, \code {return}}{310}
  716. \entry {debugger commands, \code {run}}{311}
  717. \entry {debugger commands, \code {s} (\code {step})}{311}
  718. \entry {debugger commands, \code {set}}{312}
  719. \entry {debugger commands, \code {si} (\code {stepi})}{311}
  720. \entry {debugger commands, \code {silent}}{310}
  721. \entry {debugger commands, \code {step}}{311}
  722. \entry {debugger commands, \code {stepi}}{311}
  723. \entry {debugger commands, \code {t} (\code {tbreak})}{310}
  724. \entry {debugger commands, \code {tbreak}}{310}
  725. \entry {debugger commands, \code {trace}}{316}
  726. \entry {debugger commands, \code {u} (\code {until})}{311}
  727. \entry {debugger commands, \code {undisplay}}{312}
  728. \entry {debugger commands, \code {until}}{311}
  729. \entry {debugger commands, \code {unwatch}}{312}
  730. \entry {debugger commands, \code {up}}{313}
  731. \entry {debugger commands, \code {w} (\code {watch})}{312}
  732. \entry {debugger commands, \code {watch}}{312}
  733. \entry {debugger default list amount}{314}
  734. \entry {debugger history file}{314}
  735. \entry {debugger history size}{314}
  736. \entry {debugger options}{314}
  737. \entry {debugger prompt}{314}
  738. \entry {debugger, how to start}{305}
  739. \entry {debugger, read commands from a file}{314}
  740. \entry {debugging \command {awk} programs}{303}
  741. \entry {debugging \command {gawk}, bug reports}{420}
  742. \entry {decimal point character, locale specific}{31}
  743. \entry {decrement operators}{109}
  744. \entry {\code {default} keyword}{129}
  745. \entry {Deifik, Scott}{10, 404, 421}
  746. \entry {\code {delete} \var {array}}{152}
  747. \entry {delete breakpoint at location}{309}
  748. \entry {delete breakpoint by number}{309}
  749. \entry {\code {delete} debugger command}{309}
  750. \entry {\code {delete} statement}{151}
  751. \entry {delete watchpoint}{312}
  752. \entry {deleting elements in arrays}{151}
  753. \entry {deleting entire arrays}{152}
  754. \entry {Demaille, Akim}{10}
  755. \entry {describe call stack frame, in debugger}{313}
  756. \entry {differences between \command {gawk} and \command {awk}}{164}
  757. \entry {differences in \command {awk} and \command {gawk}, \code {ARGC}/\code {ARGV} variables}{144}
  758. \entry {differences in \command {awk} and \command {gawk}, \code {ARGIND} variable}{138}
  759. \entry {differences in \command {awk} and \command {gawk}, array elements, deleting}{152}
  760. \entry {differences in \command {awk} and \command {gawk}, \code {AWKLIBPATH} environment variable}{35}
  761. \entry {differences in \command {awk} and \command {gawk}, \code {AWKPATH} environment variable}{34}
  762. \entry {differences in \command {awk} and \command {gawk}, \code {BEGIN}/\code {END} patterns}{123}
  763. \entry {differences in \command {awk} and \command {gawk}, \code {BEGINFILE}/\code {ENDFILE} patterns}{123}
  764. \entry {differences in \command {awk} and \command {gawk}, \code {BINMODE} variable}{135, 415}
  765. \entry {differences in \command {awk} and \command {gawk}, \code {close()} function}{95, 96}
  766. \entry {differences in \command {awk} and \command {gawk}, command line directories}{79}
  767. \entry {differences in \command {awk} and \command {gawk}, \code {ERRNO} variable}{138}
  768. \entry {differences in \command {awk} and \command {gawk}, error messages}{92}
  769. \entry {differences in \command {awk} and \command {gawk}, \code {FIELDWIDTHS} variable}{135}
  770. \entry {differences in \command {awk} and \command {gawk}, \code {FPAT} variable}{135}
  771. \entry {differences in \command {awk} and \command {gawk}, \code {FUNCTAB} variable}{139}
  772. \entry {differences in \command {awk} and \command {gawk}, function arguments (\command {gawk})}{159}
  773. \entry {differences in \command {awk} and \command {gawk}, \code {getline} command}{71}
  774. \entry {differences in \command {awk} and \command {gawk}, \code {IGNORECASE} variable}{136}
  775. \entry {differences in \command {awk} and \command {gawk}, implementation limitations}{76, 92}
  776. \entry {differences in \command {awk} and \command {gawk}, indirect function calls}{193}
  777. \entry {differences in \command {awk} and \command {gawk}, input/output operators}{75, 91}
  778. \entry {differences in \command {awk} and \command {gawk}, line continuations}{115}
  779. \entry {differences in \command {awk} and \command {gawk}, \code {LINT} variable}{136}
  780. \entry {differences in \command {awk} and \command {gawk}, \code {match()} function}{165}
  781. \entry {differences in \command {awk} and \command {gawk}, \code {print}/\code {printf} statements}{86}
  782. \entry {differences in \command {awk} and \command {gawk}, \code {PROCINFO} array}{139}
  783. \entry {differences in \command {awk} and \command {gawk}, record separators}{55}
  784. \entry {differences in \command {awk} and \command {gawk}, regexp constants}{99}
  785. \entry {differences in \command {awk} and \command {gawk}, regular expressions}{50}
  786. \entry {differences in \command {awk} and \command {gawk}, \code {RS}/\code {RT} variables}{56}
  787. \entry {differences in \command {awk} and \command {gawk}, \code {RT} variable}{142}
  788. \entry {differences in \command {awk} and \command {gawk}, single-character fields}{63}
  789. \entry {differences in \command {awk} and \command {gawk}, \code {split()} function}{167}
  790. \entry {differences in \command {awk} and \command {gawk}, strings}{97}
  791. \entry {differences in \command {awk} and \command {gawk}, strings, storing}{56}
  792. \entry {differences in \command {awk} and \command {gawk}, \code {SYMTAB} variable}{142}
  793. \entry {differences in \command {awk} and \command {gawk}, \code {TEXTDOMAIN} variable}{137}
  794. \entry {differences in \command {awk} and \command {gawk}, trunc-mod operation}{104}
  795. \entry {directories, command line}{79}
  796. \entry {directories, searching}{274}
  797. \entry {directories, searching for shared libraries}{35}
  798. \entry {directories, searching for source files}{34}
  799. \entry {disable breakpoint}{309}
  800. \entry {\code {disable} debugger command}{309}
  801. \entry {\code {display} debugger command}{311}
  802. \entry {display debugger options}{314}
  803. \entry {division}{104}
  804. \entry {\code {do}-\code {while} statement}{128}
  805. \entry {\code {do}-\code {while} statement, use of regexps in}{41}
  806. \entry {documentation, of \command {awk} programs}{202}
  807. \entry {documentation, online}{8}
  808. \entry {documents\comma {} searching}{253}
  809. \entry {dollar sign (\code {$}), \code {$} field operator}{57, 117}
  810. \entry {dollar sign (\code {$}), incrementing fields and arrays}{109}
  811. \entry {dollar sign (\code {$}), regexp operator}{44}
  812. \entry {double precision floating-point}{319}
  813. \entry {double quote (\code {"}) in shell commands}{14}
  814. \entry {double quote (\code {"}), in regexp constants}{51}
  815. \entry {double quote (\code {"}), in shell commands}{17}
  816. \entry {\code {down} debugger command}{313}
  817. \entry {Drepper, Ulrich}{10}
  818. \entry {dump all variables of a program}{29}
  819. \entry {\code {dump} debugger command}{314}
  820. \entry {\code {dupword.awk} program}{254}
  821. \entry {dynamic profiling}{291}
  822. \entry {dynamically loaded extensions}{335}
  823. \initial {E}
  824. \entry {\code {e} debugger command (alias for \code {enable})}{309}
  825. \entry {EBCDIC}{208}
  826. \entry {effective group ID of \command {gawk} user}{140}
  827. \entry {effective user ID of \command {gawk} user}{140}
  828. \entry {\command {egrep} utility}{47, 238}
  829. \entry {\code {egrep.awk} program}{239}
  830. \entry {elements in arrays, assigning values}{147}
  831. \entry {elements in arrays, deleting}{151}
  832. \entry {elements in arrays, order of access by \code {in} operator}{149}
  833. \entry {elements in arrays, scanning}{148}
  834. \entry {elements of arrays}{146}
  835. \entry {email address for bug reports, \code {bug-gawk@gnu.org}}{420}
  836. \entry {\code {EMISTERED}}{287}
  837. \entry {empty array elements}{147}
  838. \entry {empty pattern}{124}
  839. \entry {empty strings}{55}
  840. \entry {empty strings, See null strings}{62}
  841. \entry {enable breakpoint}{309}
  842. \entry {\code {enable} debugger command}{309}
  843. \entry {\code {end} debugger command}{310}
  844. \entry {\code {END} pattern}{122}
  845. \entry {\code {END} pattern, and profiling}{289}
  846. \entry {\code {END} pattern, \code {assert()} user-defined function and}{205}
  847. \entry {\code {END} pattern, backslash continuation and}{242}
  848. \entry {\code {END} pattern, Boolean patterns and}{121}
  849. \entry {\code {END} pattern, \code {exit} statement and}{134}
  850. \entry {\code {END} pattern, \code {next}/\code {nextfile} statements and}{123, 133}
  851. \entry {\code {END} pattern, operators and}{122}
  852. \entry {\code {END} pattern, \code {print} statement and}{123}
  853. \entry {\code {ENDFILE} pattern}{123}
  854. \entry {\code {ENDFILE} pattern, Boolean patterns and}{121}
  855. \entry {\code {endfile()} user-defined function}{213}
  856. \entry {\code {endgrent()} function (C library)}{229}
  857. \entry {\code {endgrent()} user-defined function}{229}
  858. \entry {\code {endpwent()} function (C library)}{225}
  859. \entry {\code {endpwent()} user-defined function}{225}
  860. \entry {\code {ENVIRON} array}{138}
  861. \entry {environment variables used by \command {gawk}}{34}
  862. \entry {environment variables, in \code {ENVIRON} array}{138}
  863. \entry {epoch, definition of}{442}
  864. \entry {equals sign (\code {=}), \code {=} operator}{106}
  865. \entry {equals sign (\code {=}), \code {==} operator}{111, 118}
  866. \entry {EREs (Extended Regular Expressions)}{47}
  867. \entry {\code {ERRNO} variable}{138, 288}
  868. \entry {\code {ERRNO} variable, with \code {BEGINFILE} pattern}{124}
  869. \entry {\code {ERRNO} variable, with \command {close()} function}{96}
  870. \entry {\code {ERRNO} variable, with \command {getline} command}{71}
  871. \entry {error handling}{92}
  872. \entry {error handling, \code {ERRNO} variable and}{138}
  873. \entry {error output}{92}
  874. \entry {escape processing, \code {gsub()}/\code {gensub()}/\code {sub()} functions}{170}
  875. \entry {escape sequences, in strings}{42}
  876. \entry {\code {eval} debugger command}{311}
  877. \entry {evaluate expressions, in debugger}{311}
  878. \entry {evaluation order}{109}
  879. \entry {evaluation order, concatenation}{105}
  880. \entry {evaluation order, functions}{159}
  881. \entry {examining fields}{56}
  882. \entry {exclamation point (\code {!}), \code {!} operator}{114, 117, 241}
  883. \entry {exclamation point (\code {!}), \code {!=} operator}{111, 118}
  884. \entry {exclamation point (\code {!}), \code {!~} operator}{41, 50, 51, 98, 111, 113, 118, 120}
  885. \entry {\code {exit} statement}{134}
  886. \entry {exit status, of \command {gawk}}{37}
  887. \entry {exit status, of VMS}{419}
  888. \entry {exit the debugger}{316}
  889. \entry {\code {exp()} function}{160}
  890. \entry {\command {expand} utility}{20}
  891. \entry {Expat XML parser library}{387}
  892. \entry {exponent}{160}
  893. \entry {expressions}{97}
  894. \entry {expressions, as patterns}{119}
  895. \entry {expressions, assignment}{106}
  896. \entry {expressions, Boolean}{113}
  897. \entry {expressions, comparison}{110}
  898. \entry {expressions, conditional}{115}
  899. \entry {expressions, matching, See comparison expressions}{110}
  900. \entry {expressions, selecting}{115}
  901. \entry {Extended Regular Expressions (EREs)}{47}
  902. \entry {extension API}{337}
  903. \entry {extension API informational variables}{365}
  904. \entry {extension API version}{365}
  905. \entry {extension API, version number}{141}
  906. \entry {extension example}{368}
  907. \entry {extension registration}{344}
  908. \entry {extension search path}{368}
  909. \entry {extensions distributed with \command {gawk}}{378}
  910. \entry {extensions, allocating memory}{342}
  911. \entry {extensions, Brian Kernighan's \command {awk}}{393, 401}
  912. \entry {extensions, common\comma {} \code {**} operator}{104}
  913. \entry {extensions, common\comma {} \code {**=} operator}{108}
  914. \entry {extensions, common\comma {} \code {/dev/stderr} special file}{93}
  915. \entry {extensions, common\comma {} \code {/dev/stdin} special file}{93}
  916. \entry {extensions, common\comma {} \code {/dev/stdout} special file}{93}
  917. \entry {extensions, common\comma {} \code {{\tt \backslashcurfont }x} escape sequence}{42}
  918. \entry {extensions, common\comma {} \code {BINMODE} variable}{415}
  919. \entry {extensions, common\comma {} \code {delete} to delete entire arrays}{152}
  920. \entry {extensions, common\comma {} \code {fflush()} function}{174}
  921. \entry {extensions, common\comma {} \code {func} keyword}{185}
  922. \entry {extensions, common\comma {} \code {length()} applied to an array}{164}
  923. \entry {extensions, common\comma {} \code {RS} as a regexp}{55}
  924. \entry {extensions, common\comma {} single character fields}{63}
  925. \entry {extensions, in \command {gawk}, not in POSIX \command {awk}}{393}
  926. \entry {extensions, \command {mawk}}{401}
  927. \entry {extensions, where to find}{387}
  928. \entry {\code {extract.awk} program}{264}
  929. \entry {extraction, of marked strings (internationalization)}{297}
  930. \initial {F}
  931. \entry {\code {f} debugger command (alias for \code {frame})}{313}
  932. \entry {false, logical}{109}
  933. \entry {FDL (Free Documentation License)}{461}
  934. \entry {features, adding to \command {gawk}}{426}
  935. \entry {features, advanced, See advanced features}{39}
  936. \entry {features, deprecated}{39}
  937. \entry {features, undocumented}{39}
  938. \entry {Fenlason, Jay}{4, 403}
  939. \entry {\code {fflush()} function}{173}
  940. \entry {field numbers}{57}
  941. \entry {field operator \code {$}}{57}
  942. \entry {field operators\comma {} dollar sign as}{57}
  943. \entry {field separator, in multiline records}{69}
  944. \entry {field separator, on command line}{63}
  945. \entry {field separator, POSIX and}{65}
  946. \entry {field separators}{60, 135, 137}
  947. \entry {field separators, choice of}{61}
  948. \entry {field separators, \code {FIELDWIDTHS} variable and}{135}
  949. \entry {field separators, \code {FPAT} variable and}{135}
  950. \entry {field separators, POSIX and}{56}
  951. \entry {field separators, regular expressions as}{61}
  952. \entry {field separators, See Also \code {OFS}}{59}
  953. \entry {field separators, spaces as}{235}
  954. \entry {fields}{53, 56, 436}
  955. \entry {fields, adding}{59}
  956. \entry {fields, changing contents of}{58}
  957. \entry {fields, cutting}{233}
  958. \entry {fields, examining}{56}
  959. \entry {fields, number of}{57}
  960. \entry {fields, numbers}{57}
  961. \entry {fields, printing}{81}
  962. \entry {fields, separating}{60}
  963. \entry {fields, single-character}{63}
  964. \entry {\code {FIELDWIDTHS} variable}{66, 135}
  965. \entry {file descriptors}{92}
  966. \entry {file names, distinguishing}{138}
  967. \entry {file names, in compatibility mode}{94}
  968. \entry {file names, standard streams in \command {gawk}}{93}
  969. \entry {\code {FILENAME} variable}{53, 139}
  970. \entry {\code {FILENAME} variable, \code {getline}\comma {} setting with}{76}
  971. \entry {filenames, assignments as}{216}
  972. \entry {files, \code {.gmo}}{294}
  973. \entry {files, \code {.gmo}, converting from \code {.po}}{300}
  974. \entry {files, \code {.gmo}, specifying directory of}{294, 295}
  975. \entry {files, \code {.po}}{293, 297}
  976. \entry {files, \code {.po}, converting to \code {.gmo}}{300}
  977. \entry {files, \code {.pot}}{293}
  978. \entry {files, \code {/dev/\dots {}} special files}{93}
  979. \entry {files, \code {/inet/\dots {}} (\command {gawk})}{287}
  980. \entry {files, \code {/inet4/\dots {}} (\command {gawk})}{287}
  981. \entry {files, \code {/inet6/\dots {}} (\command {gawk})}{287}
  982. \entry {files, \command {awk} programs in}{14}
  983. \entry {files, \code {awkprof.out}}{289}
  984. \entry {files, \file {awkvars.out}}{29}
  985. \entry {files, closing}{173}
  986. \entry {files, descriptors, See file descriptors}{92}
  987. \entry {files, group}{225}
  988. \entry {files, initialization and cleanup}{212}
  989. \entry {files, input, See input files}{14}
  990. \entry {files, log\comma {} timestamps in}{176}
  991. \entry {files, managing}{212}
  992. \entry {files, managing, data file boundaries}{212}
  993. \entry {files, message object}{294}
  994. \entry {files, message object, converting from portable object files}{300}
  995. \entry {files, message object, specifying directory of}{294, 295}
  996. \entry {files, multiple passes over}{34}
  997. \entry {files, multiple\comma {} duplicating output into}{246}
  998. \entry {files, output, See output files}{94}
  999. \entry {files, password}{221}
  1000. \entry {files, portable object}{293, 297}
  1001. \entry {files, portable object template}{293}
  1002. \entry {files, portable object, converting to message object files}{300}
  1003. \entry {files, portable object, generating}{29}
  1004. \entry {files, processing\comma {} \code {ARGIND} variable and}{138}
  1005. \entry {files, reading}{214}
  1006. \entry {files, reading, multiline records}{69}
  1007. \entry {files, searching for regular expressions}{238}
  1008. \entry {files, skipping}{214}
  1009. \entry {files, source\comma {} search path for}{274}
  1010. \entry {files, splitting}{244}
  1011. \entry {files, Texinfo\comma {} extracting programs from}{263}
  1012. \entry {find substring in string}{163}
  1013. \entry {finding extensions}{368}
  1014. \entry {\code {finish} debugger command}{310}
  1015. \entry {Fish, Fred}{404}
  1016. \entry {fixed-width data}{66}
  1017. \entry {flag variables}{114, 246}
  1018. \entry {floating-point, numbers}{319, 320}
  1019. \entry {floating-point, numbers\comma {} arbitrary precision}{319}
  1020. \entry {floating-point, VAX/VMS}{419}
  1021. \entry {flush buffered output}{173}
  1022. \entry {\code {fnmatch()} extension function}{381}
  1023. \entry {\code {FNR} variable}{53, 139}
  1024. \entry {\code {FNR} variable, changing}{143}
  1025. \entry {\code {for} statement}{128}
  1026. \entry {\code {for} statement, looping over arrays}{148}
  1027. \entry {\code {fork()} extension function}{382}
  1028. \entry {format specifiers}{84}
  1029. \entry {format specifiers, mixing regular with positional specifiers}{298}
  1030. \entry {format specifiers, \code {printf} statement}{85}
  1031. \entry {format specifiers, \code {strftime()} function (\command {gawk})}{178}
  1032. \entry {format time string}{177}
  1033. \entry {formats\comma {} numeric output}{84}
  1034. \entry {formatting output}{84}
  1035. \entry {formatting strings}{167}
  1036. \entry {forward slash (\code {/}) to enclose regular expressions}{41}
  1037. \entry {forward slash (\code {/}), \code {/} operator}{117}
  1038. \entry {forward slash (\code {/}), \code {/=} operator}{107, 118}
  1039. \entry {forward slash (\code {/}), \code {/=} operator, vs. \code {/=\dots {}/} regexp constant}{108}
  1040. \entry {forward slash (\code {/}), patterns and}{120}
  1041. \entry {\code {FPAT} variable}{68, 135}
  1042. \entry {\code {frame} debugger command}{313}
  1043. \entry {Free Documentation License (FDL)}{461}
  1044. \entry {Free Software Foundation (FSF)}{8, 407, 443}
  1045. \entry {FreeBSD}{448}
  1046. \entry {\code {FS} variable}{60, 135}
  1047. \entry {\code {FS} variable, \code {--field-separator} option and}{27}
  1048. \entry {\code {FS} variable, as null string}{63}
  1049. \entry {\code {FS} variable, as TAB character}{31}
  1050. \entry {\code {FS} variable, changing value of}{61}
  1051. \entry {\code {FS} variable, running \command {awk} programs and}{234}
  1052. \entry {\code {FS} variable, setting from command line}{63}
  1053. \entry {\code {FS}, containing \code {^}}{62}
  1054. \entry {\code {FS}, in multiline records}{69}
  1055. \entry {FSF (Free Software Foundation)}{8, 407, 443}
  1056. \entry {\code {fts()} extension function}{379}
  1057. \entry {\code {FUNCTAB} array}{139}
  1058. \entry {function calls}{115}
  1059. \entry {function calls, indirect}{193}
  1060. \entry {function definition example}{185}
  1061. \entry {function pointers}{193}
  1062. \entry {functions, arrays as parameters to}{190}
  1063. \entry {functions, built-in}{115, 159}
  1064. \entry {functions, built-in, evaluation order}{159}
  1065. \entry {functions, defining}{184}
  1066. \entry {functions, library}{201}
  1067. \entry {functions, library, assertions}{204}
  1068. \entry {functions, library, associative arrays and}{202}
  1069. \entry {functions, library, C library}{216}
  1070. \entry {functions, library, character values as numbers}{207}
  1071. \entry {functions, library, Cliff random numbers}{206}
  1072. \entry {functions, library, command-line options}{216}
  1073. \entry {functions, library, example program for using}{268}
  1074. \entry {functions, library, group database\comma {} reading}{225}
  1075. \entry {functions, library, managing data files}{212}
  1076. \entry {functions, library, managing time}{209}
  1077. \entry {functions, library, merging arrays into strings}{209}
  1078. \entry {functions, library, rounding numbers}{206}
  1079. \entry {functions, library, user database\comma {} reading}{221}
  1080. \entry {functions, names of}{145, 184}
  1081. \entry {functions, recursive}{185}
  1082. \entry {functions, string-translation}{183}
  1083. \entry {functions, undefined}{190}
  1084. \entry {functions, user-defined}{184}
  1085. \entry {functions, user-defined, calling}{187}
  1086. \entry {functions, user-defined, counts, in a profile}{291}
  1087. \entry {functions, user-defined, library of}{201}
  1088. \entry {functions, user-defined, \code {next}/\code {nextfile} statements and}{133}
  1089. \initial {G}
  1090. \entry {G-d}{10}
  1091. \entry {Garfinkle, Scott}{404}
  1092. \entry {\command {gawk} program, dynamic profiling}{291}
  1093. \entry {\command {gawk} version}{141}
  1094. \entry {\command {gawk}, \code {ARGIND} variable in}{33}
  1095. \entry {\command {gawk}, \command {awk} and}{3, 5}
  1096. \entry {\command {gawk}, bitwise operations in}{181}
  1097. \entry {\command {gawk}, \code {break} statement in}{131}
  1098. \entry {\command {gawk}, built-in variables and}{135}
  1099. \entry {\command {gawk}, character classes and}{48}
  1100. \entry {\command {gawk}, coding style in}{426}
  1101. \entry {\command {gawk}, command-line options, and regular expressions}{49}
  1102. \entry {\command {gawk}, comparison operators and}{112}
  1103. \entry {\command {gawk}, configuring}{412}
  1104. \entry {\command {gawk}, configuring, options}{411}
  1105. \entry {\command {gawk}, \code {continue} statement in}{132}
  1106. \entry {\command {gawk}, distribution}{408}
  1107. \entry {\command {gawk}, \code {ERRNO} variable in}{71, 96, 124, 138, 288}
  1108. \entry {\command {gawk}, escape sequences}{44}
  1109. \entry {\command {gawk}, extensions\comma {} disabling}{31}
  1110. \entry {\command {gawk}, features, adding}{426}
  1111. \entry {\command {gawk}, features, advanced}{279}
  1112. \entry {\command {gawk}, field separators and}{136}
  1113. \entry {\command {gawk}, \code {FIELDWIDTHS} variable in}{66, 135}
  1114. \entry {\command {gawk}, file names in}{92}
  1115. \entry {\command {gawk}, format-control characters}{85, 86}
  1116. \entry {\command {gawk}, \code {FPAT} variable in}{68, 135}
  1117. \entry {\command {gawk}, \code {FUNCTAB} array in}{139}
  1118. \entry {\command {gawk}, function arguments and}{159}
  1119. \entry {\command {gawk}, hexadecimal numbers and}{98}
  1120. \entry {\command {gawk}, \code {IGNORECASE} variable in}{50, 136, 146, 162, 285}
  1121. \entry {\command {gawk}, implementation issues}{425}
  1122. \entry {\command {gawk}, implementation issues, debugging}{425}
  1123. \entry {\command {gawk}, implementation issues, downward compatibility}{425}
  1124. \entry {\command {gawk}, implementation issues, limits}{76}
  1125. \entry {\command {gawk}, implementation issues, pipes}{92}
  1126. \entry {\command {gawk}, installing}{407}
  1127. \entry {\command {gawk}, internationalization and, See internationalization}{293}
  1128. \entry {\command {gawk}, interpreter\comma {} adding code to}{376}
  1129. \entry {\command {gawk}, interval expressions and}{46}
  1130. \entry {\command {gawk}, line continuation in}{115}
  1131. \entry {\command {gawk}, \code {LINT} variable in}{136}
  1132. \entry {\command {gawk}, list of contributors to}{403}
  1133. \entry {\command {gawk}, MS-DOS version of}{415}
  1134. \entry {\command {gawk}, MS-Windows version of}{415}
  1135. \entry {\command {gawk}, newlines in}{23}
  1136. \entry {\command {gawk}, octal numbers and}{98}
  1137. \entry {\command {gawk}, OS/2 version of}{415}
  1138. \entry {\command {gawk}, \code {PROCINFO} array in}{139, 141, 177, 287}
  1139. \entry {\command {gawk}, regexp constants and}{99}
  1140. \entry {\command {gawk}, regular expressions, case sensitivity}{50}
  1141. \entry {\command {gawk}, regular expressions, operators}{48}
  1142. \entry {\command {gawk}, regular expressions, precedence}{46}
  1143. \entry {\command {gawk}, \code {RT} variable in}{55, 71, 142}
  1144. \entry {\command {gawk}, See Also \command {awk}}{3}
  1145. \entry {\command {gawk}, source code\comma {} obtaining}{407}
  1146. \entry {\command {gawk}, splitting fields and}{67}
  1147. \entry {\command {gawk}, string-translation functions}{183}
  1148. \entry {\command {gawk}, \code {SYMTAB} array in}{142}
  1149. \entry {\command {gawk}, \code {TEXTDOMAIN} variable in}{137}
  1150. \entry {\command {gawk}, timestamps}{176}
  1151. \entry {\command {gawk}, uses for}{3}
  1152. \entry {\command {gawk}, versions of, information about\comma {} printing}{32}
  1153. \entry {\command {gawk}, VMS version of}{417}
  1154. \entry {\command {gawk}, word-boundary operator}{49}
  1155. \entry {\code {gawkextlib}}{387}
  1156. \entry {\code {gawkextlib} project}{387}
  1157. \entry {General Public License (GPL)}{443}
  1158. \entry {General Public License, See GPL}{8}
  1159. \entry {generate time values}{177}
  1160. \entry {\code {gensub()} function (\command {gawk})}{99, 162}
  1161. \entry {\code {gensub()} function (\command {gawk}), escape processing}{170}
  1162. \entry {\code {getaddrinfo()} function (C library)}{288}
  1163. \entry {\code {getgrent()} function (C library)}{225, 229}
  1164. \entry {\code {getgrent()} user-defined function}{225, 229}
  1165. \entry {\code {getgrgid()} function (C library)}{229}
  1166. \entry {\code {getgrgid()} user-defined function}{229}
  1167. \entry {\code {getgrnam()} function (C library)}{228}
  1168. \entry {\code {getgrnam()} user-defined function}{228}
  1169. \entry {\code {getgruser()} function (C library)}{229}
  1170. \entry {\code {getgruser()} function, user-defined}{229}
  1171. \entry {\code {getline} command}{53}
  1172. \entry {\code {getline} command, \code {_gr_init()} user-defined function}{227}
  1173. \entry {\code {getline} command, \code {_pw_init()} function}{224}
  1174. \entry {\code {getline} command, coprocesses\comma {} using from}{75, 94}
  1175. \entry {\code {getline} command, deadlock and}{286}
  1176. \entry {\code {getline} command, explicit input with}{71}
  1177. \entry {\code {getline} command, \code {FILENAME} variable and}{76}
  1178. \entry {\code {getline} command, return values}{71}
  1179. \entry {\code {getline} command, variants}{77}
  1180. \entry {\code {getline} from a file}{73}
  1181. \entry {\code {getline} into a variable}{72}
  1182. \entry {\code {getline} statement, \code {BEGINFILE}/\code {ENDFILE} patterns and}{124}
  1183. \entry {\code {getlocaltime()} user-defined function}{209}
  1184. \entry {\code {getopt()} function (C library)}{216}
  1185. \entry {\code {getopt()} user-defined function}{218}
  1186. \entry {\code {getpwent()} function (C library)}{221, 225}
  1187. \entry {\code {getpwent()} user-defined function}{221, 225}
  1188. \entry {\code {getpwnam()} function (C library)}{224}
  1189. \entry {\code {getpwnam()} user-defined function}{224}
  1190. \entry {\code {getpwuid()} function (C library)}{224}
  1191. \entry {\code {getpwuid()} user-defined function}{224}
  1192. \entry {\code {gettext} library}{293}
  1193. \entry {\code {gettext} library, locale categories}{294}
  1194. \entry {\code {gettext()} function (C library)}{294}
  1195. \entry {\code {gettimeofday()} extension function}{386}
  1196. \entry {\command {git} utility}{387, 422, 425, 427}
  1197. \entry {\command {git}, use of for \command {gawk} source code}{429}
  1198. \entry {GMP}{328}
  1199. \entry {GNITS mailing list}{10}
  1200. \entry {GNU \command {awk}, See \command {gawk}}{3}
  1201. \entry {GNU Free Documentation License}{461}
  1202. \entry {GNU General Public License}{443}
  1203. \entry {GNU Lesser General Public License}{445}
  1204. \entry {GNU long options}{27}
  1205. \entry {GNU long options, printing list of}{30}
  1206. \entry {GNU Project}{8, 443}
  1207. \entry {GNU/Linux}{8, 300, 448}
  1208. \entry {Gordon, Assaf}{404}
  1209. \entry {GPL (General Public License)}{8, 443}
  1210. \entry {GPL (General Public License), printing}{28}
  1211. \entry {\command {grcat} program}{225}
  1212. \entry {Grigera, Juan}{404}
  1213. \entry {group database, reading}{225}
  1214. \entry {group file}{225}
  1215. \entry {group ID of \command {gawk} user}{140}
  1216. \entry {groups\comma {} information about}{225}
  1217. \entry {\code {gsub()} function}{99, 163}
  1218. \entry {\code {gsub()} function, arguments of}{169}
  1219. \entry {\code {gsub()} function, escape processing}{170}
  1220. \initial {H}
  1221. \entry {\code {h} debugger command (alias for \code {help})}{315}
  1222. \entry {Hankerson, Darrel}{10, 404}
  1223. \entry {Haque, John}{404}
  1224. \entry {Hartholz, Elaine}{10}
  1225. \entry {Hartholz, Marshall}{10}
  1226. \entry {Hasegawa, Isamu}{404}
  1227. \entry {\code {help} debugger command}{315}
  1228. \entry {hexadecimal numbers}{97}
  1229. \entry {hexadecimal values\comma {} enabling interpretation of}{30}
  1230. \entry {history expansion, in debugger}{316}
  1231. \entry {\code {histsort.awk} program}{262}
  1232. \entry {Hughes, Phil}{10}
  1233. \entry {\code {HUP} signal, for dynamic profiling}{292}
  1234. \entry {hyphen (\code {-}), \code {-} operator}{117, 118}
  1235. \entry {hyphen (\code {-}), \code {--} operator}{109, 117}
  1236. \entry {hyphen (\code {-}), \code {-=} operator}{107, 118}
  1237. \entry {hyphen (\code {-}), filenames beginning with}{28}
  1238. \entry {hyphen (\code {-}), in bracket expressions}{47}
  1239. \initial {I}
  1240. \entry {\code {i} debugger command (alias for \code {info})}{313}
  1241. \entry {\command {id} utility}{242}
  1242. \entry {\code {id.awk} program}{242}
  1243. \entry {IEEE-754 format}{325}
  1244. \entry {\code {if} statement}{126}
  1245. \entry {\code {if} statement, actions\comma {} changing}{121}
  1246. \entry {\code {if} statement, use of regexps in}{41}
  1247. \entry {\code {igawk.sh} program}{269}
  1248. \entry {ignore breakpoint}{310}
  1249. \entry {\code {ignore} debugger command}{310}
  1250. \entry {\code {IGNORECASE} variable}{136}
  1251. \entry {\code {IGNORECASE} variable, and array indices}{146}
  1252. \entry {\code {IGNORECASE} variable, and array sorting functions}{285}
  1253. \entry {\code {IGNORECASE} variable, in example programs}{201}
  1254. \entry {\code {IGNORECASE} variable, with \code {~} and \code {!~} operators}{50}
  1255. \entry {Illumos}{423}
  1256. \entry {Illumos, POSIX-compliant \command {awk}}{423}
  1257. \entry {implementation issues, \command {gawk}}{425}
  1258. \entry {implementation issues, \command {gawk}, limits}{76, 92}
  1259. \entry {implementation issues\comma {} \command {gawk}, debugging}{425}
  1260. \entry {\code {in} operator}{111, 118, 129}
  1261. \entry {\code {in} operator, index existence in multidimensional arrays}{154}
  1262. \entry {\code {in} operator, order of array access}{149}
  1263. \entry {\code {in} operator, testing if array element exists}{147}
  1264. \entry {\code {in} operator, use in loops}{148}
  1265. \entry {increment operators}{108}
  1266. \entry {\code {index()} function}{163}
  1267. \entry {indexing arrays}{146}
  1268. \entry {indirect function calls}{193}
  1269. \entry {infinite precision}{319}
  1270. \entry {\code {info} debugger command}{313}
  1271. \entry {initialization, automatic}{22}
  1272. \entry {\code {inplace} extension}{383}
  1273. \entry {input files}{53}
  1274. \entry {input files, closing}{94}
  1275. \entry {input files, counting elements in}{251}
  1276. \entry {input files, examples}{18}
  1277. \entry {input files, reading}{53}
  1278. \entry {input files, running \command {awk} without}{14}
  1279. \entry {input files, variable assignments and}{33}
  1280. \entry {input pipeline}{74}
  1281. \entry {input record, length of}{164}
  1282. \entry {input redirection}{73}
  1283. \entry {input, data\comma {} nondecimal}{279}
  1284. \entry {input, explicit}{71}
  1285. \entry {input, files, See input files}{69}
  1286. \entry {input, multiline records}{69}
  1287. \entry {input, splitting into records}{53}
  1288. \entry {input, standard}{14, 92}
  1289. \entry {input/output functions}{173}
  1290. \entry {input/output, binary}{135}
  1291. \entry {input/output, from \code {BEGIN} and \code {END}}{123}
  1292. \entry {input/output, two-way}{286}
  1293. \entry {insomnia, cure for}{254}
  1294. \entry {installation, VMS}{417}
  1295. \entry {installing \command {gawk}}{407}
  1296. \entry {instruction tracing, in debugger}{314}
  1297. \entry {\code {INT} signal (MS-Windows)}{292}
  1298. \entry {\code {int()} function}{160}
  1299. \entry {integer array indices}{153}
  1300. \entry {integers}{319}
  1301. \entry {integers, arbitrary precision}{332}
  1302. \entry {integers, unsigned}{319}
  1303. \entry {interacting with other programs}{174}
  1304. \entry {internationalization}{183, 293}
  1305. \entry {internationalization, localization}{137, 293}
  1306. \entry {internationalization, localization, character classes}{48}
  1307. \entry {internationalization, localization, \command {gawk} and}{293}
  1308. \entry {internationalization, localization, locale categories}{294}
  1309. \entry {internationalization, localization, marked strings}{295}
  1310. \entry {internationalization, localization, portability and}{298}
  1311. \entry {internationalizing a program}{293}
  1312. \entry {interpreted programs}{435, 444}
  1313. \entry {interval expressions, regexp operator}{46}
  1314. \entry {\code {inventory-shipped} file}{19}
  1315. \entry {invoke shell command}{174}
  1316. \entry {\code {isarray()} function (\command {gawk})}{183}
  1317. \entry {ISO}{444}
  1318. \entry {ISO 8859-1}{440}
  1319. \entry {ISO Latin-1}{440}
  1320. \initial {J}
  1321. \entry {Jacobs, Andrew}{223}
  1322. \entry {Jaegermann, Michal}{10, 404}
  1323. \entry {Java implementation of \command {awk}}{423}
  1324. \entry {Java programming language}{444}
  1325. \entry {\command {jawk}}{423}
  1326. \entry {Jedi knights}{39}
  1327. \entry {\code {join()} user-defined function}{209}
  1328. \initial {K}
  1329. \entry {Kahrs, J\"urgen}{10, 404}
  1330. \entry {Kasal, Stepan}{10}
  1331. \entry {Kenobi, Obi-Wan}{39}
  1332. \entry {Kernighan, Brian}{4, 7, 10, 74, 104, 201, 393, 403, 421, 437, 441}
  1333. \entry {\command {kill} command\comma {} dynamic profiling}{292}
  1334. \entry {Knights, jedi}{39}
  1335. \entry {Knuth, Donald}{319}
  1336. \entry {Kwok, Conrad}{404}
  1337. \initial {L}
  1338. \entry {\code {l} debugger command (alias for \code {list})}{315}
  1339. \entry {\code {labels.awk} program}{259}
  1340. \entry {languages\comma {} data-driven}{436}
  1341. \entry {Laurie, Dirk}{331}
  1342. \entry {\code {LC_ALL} locale category}{295}
  1343. \entry {\code {LC_COLLATE} locale category}{294}
  1344. \entry {\code {LC_CTYPE} locale category}{294}
  1345. \entry {\code {LC_MESSAGES} locale category}{294}
  1346. \entry {\code {LC_MESSAGES} locale category, \code {bindtextdomain()} function (\command {gawk})}{296}
  1347. \entry {\code {LC_MONETARY} locale category}{294}
  1348. \entry {\code {LC_NUMERIC} locale category}{295}
  1349. \entry {\code {LC_RESPONSE} locale category}{295}
  1350. \entry {\code {LC_TIME} locale category}{295}
  1351. \entry {left angle bracket (\code {<}), \code {<} operator}{111, 118}
  1352. \entry {left angle bracket (\code {<}), \code {<} operator (I/O)}{73}
  1353. \entry {left angle bracket (\code {<}), \code {<=} operator}{111, 118}
  1354. \entry {left shift}{181}
  1355. \entry {left shift, bitwise}{181}
  1356. \entry {leftmost longest match}{69}
  1357. \entry {length of input record}{164}
  1358. \entry {length of string}{164}
  1359. \entry {\code {length()} function}{164}
  1360. \entry {Lesser General Public License (LGPL)}{445}
  1361. \entry {LGPL (Lesser General Public License)}{445}
  1362. \entry {libmawk}{423}
  1363. \entry {libraries of \command {awk} functions}{201}
  1364. \entry {libraries of \command {awk} functions, assertions}{204}
  1365. \entry {libraries of \command {awk} functions, associative arrays and}{202}
  1366. \entry {libraries of \command {awk} functions, character values as numbers}{207}
  1367. \entry {libraries of \command {awk} functions, command-line options}{216}
  1368. \entry {libraries of \command {awk} functions, example program for using}{268}
  1369. \entry {libraries of \command {awk} functions, group database, reading}{225}
  1370. \entry {libraries of \command {awk} functions, managing, data files}{212}
  1371. \entry {libraries of \command {awk} functions, managing, time}{209}
  1372. \entry {libraries of \command {awk} functions, merging arrays into strings}{209}
  1373. \entry {libraries of \command {awk} functions, rounding numbers}{206}
  1374. \entry {libraries of \command {awk} functions, user database, reading}{221}
  1375. \entry {line breaks}{23}
  1376. \entry {line continuations}{114}
  1377. \entry {line continuations, \command {gawk}}{115}
  1378. \entry {line continuations, in \code {print} statement}{82}
  1379. \entry {line continuations, with C shell}{22}
  1380. \entry {lines, blank, printing}{81}
  1381. \entry {lines, counting}{251}
  1382. \entry {lines, duplicate\comma {} removing}{262}
  1383. \entry {lines, matching ranges of}{121}
  1384. \entry {lines, skipping between markers}{121}
  1385. \entry {lint checking}{136}
  1386. \entry {lint checking, array elements}{152}
  1387. \entry {lint checking, array subscripts}{154}
  1388. \entry {lint checking, empty programs}{27}
  1389. \entry {lint checking, issuing warnings}{30}
  1390. \entry {lint checking, \env {POSIXLY_CORRECT} environment variable}{33}
  1391. \entry {lint checking, undefined functions}{191}
  1392. \entry {\code {LINT} variable}{136}
  1393. \entry {Linux}{8, 300, 448}
  1394. \entry {list all global variables, in debugger}{313}
  1395. \entry {\code {list} debugger command}{315}
  1396. \entry {list function definitions, in debugger}{313}
  1397. \entry {loading, library}{30}
  1398. \entry {local variables, in a function}{187}
  1399. \entry {locale categories}{294}
  1400. \entry {locale decimal point character}{31}
  1401. \entry {locale, definition of}{118}
  1402. \entry {localization}{293}
  1403. \entry {localization, See internationalization\comma {} localization}{293}
  1404. \entry {log files, timestamps in}{176}
  1405. \entry {\code {log()} function}{160}
  1406. \entry {logarithm}{160}
  1407. \entry {logical false/true}{109}
  1408. \entry {logical operators, See Boolean expressions}{113}
  1409. \entry {login information}{221}
  1410. \entry {long options}{27}
  1411. \entry {loops}{127}
  1412. \entry {loops, \code {break} statement and}{130}
  1413. \entry {loops, \code {continue} statements and}{129}
  1414. \entry {loops, count for header, in a profile}{291}
  1415. \entry {loops, \code {do}-\code {while}}{128}
  1416. \entry {loops, exiting}{130}
  1417. \entry {loops, \code {for}, array scanning}{148}
  1418. \entry {loops, \code {for}, iterative}{128}
  1419. \entry {loops, See Also \code {while} statement}{127}
  1420. \entry {loops, \code {while}}{127}
  1421. \entry {\command {ls} utility}{22}
  1422. \entry {\code {lshift()} function (\command {gawk})}{181}
  1423. \entry {lvalues/rvalues}{106}
  1424. \initial {M}
  1425. \entry {\code {mail-list} file}{18}
  1426. \entry {mailing labels\comma {} printing}{259}
  1427. \entry {mailing list, GNITS}{10}
  1428. \entry {Malmberg, John}{10, 421}
  1429. \entry {mark parity}{208}
  1430. \entry {marked string extraction (internationalization)}{297}
  1431. \entry {marked strings\comma {} extracting}{297}
  1432. \entry {Marx, Groucho}{109}
  1433. \entry {match regexp in string}{164}
  1434. \entry {\code {match()} function}{164}
  1435. \entry {\code {match()} function, \code {RSTART}/\code {RLENGTH} variables}{164}
  1436. \entry {matching, expressions, See comparison expressions}{110}
  1437. \entry {matching, leftmost longest}{69}
  1438. \entry {matching, null strings}{173}
  1439. \entry {\command {mawk} utility}{44, 75, 105, 133, 422}
  1440. \entry {maximum precision supported by MPFR library}{141}
  1441. \entry {McPhee, Patrick}{404}
  1442. \entry {message object files}{294}
  1443. \entry {message object files, converting from portable object files}{300}
  1444. \entry {message object files, specifying directory of}{294, 295}
  1445. \entry {messages from extensions}{351}
  1446. \entry {metacharacters in regular expressions}{44}
  1447. \entry {metacharacters, escape sequences for}{44}
  1448. \entry {minimum precision supported by MPFR library}{141}
  1449. \entry {\code {mktime()} function (\command {gawk})}{177}
  1450. \entry {modifiers\comma {} in format specifiers}{86}
  1451. \entry {monetary information, localization}{294}
  1452. \entry {MPFR}{328}
  1453. \entry {\command {msgfmt} utility}{300}
  1454. \entry {multiple precision}{319}
  1455. \entry {multiple-line records}{69}
  1456. \initial {N}
  1457. \entry {\code {n} debugger command (alias for \code {next})}{310}
  1458. \entry {names, arrays/variables}{145, 202}
  1459. \entry {names, functions}{184, 202}
  1460. \entry {namespace issues}{145, 202}
  1461. \entry {namespace issues, functions}{184}
  1462. \entry {\command {nawk} utility}{4}
  1463. \entry {negative zero}{321}
  1464. \entry {NetBSD}{448}
  1465. \entry {networks, programming}{287}
  1466. \entry {networks, support for}{93}
  1467. \entry {newlines}{23, 31, 114}
  1468. \entry {newlines, as field separators}{61}
  1469. \entry {newlines, as record separators}{53}
  1470. \entry {newlines, in dynamic regexps}{52}
  1471. \entry {newlines, in regexp constants}{52}
  1472. \entry {newlines, printing}{81}
  1473. \entry {newlines, separating statements in actions}{125, 126}
  1474. \entry {\code {next} debugger command}{310}
  1475. \entry {\code {next file} statement}{398}
  1476. \entry {\code {next} statement}{115, 132}
  1477. \entry {\code {next} statement, \code {BEGIN}/\code {END} patterns and}{123}
  1478. \entry {\code {next} statement, \code {BEGINFILE}/\code {ENDFILE} patterns and}{124}
  1479. \entry {\code {next} statement, user-defined functions and}{133}
  1480. \entry {\code {nextfile} statement}{133}
  1481. \entry {\code {nextfile} statement, \code {BEGIN}/\code {END} patterns and}{123}
  1482. \entry {\code {nextfile} statement, \code {BEGINFILE}/\code {ENDFILE} patterns and}{124}
  1483. \entry {\code {nextfile} statement, user-defined functions and}{133}
  1484. \entry {\code {nexti} debugger command}{310}
  1485. \entry {\code {NF} variable}{57, 139}
  1486. \entry {\code {NF} variable, decrementing}{60}
  1487. \entry {\code {ni} debugger command (alias for \code {nexti})}{310}
  1488. \entry {\code {noassign.awk} program}{216}
  1489. \entry {non-existent array elements}{147}
  1490. \entry {not Boolean-logic operator}{113}
  1491. \entry {\code {NR} variable}{53, 139}
  1492. \entry {\code {NR} variable, changing}{143}
  1493. \entry {null strings}{55, 62, 109, 437}
  1494. \entry {null strings in \command {gawk} arguments, quoting and}{17}
  1495. \entry {null strings, and deleting array elements}{152}
  1496. \entry {null strings, as array subscripts}{154}
  1497. \entry {null strings, converting numbers to strings}{101}
  1498. \entry {null strings, matching}{173}
  1499. \entry {number as string of bits}{183}
  1500. \entry {number of array elements}{164}
  1501. \entry {number sign (\code {#}), \code {#!} (executable scripts)}{15}
  1502. \entry {number sign (\code {#}), commenting}{16}
  1503. \entry {numbers, as array subscripts}{153}
  1504. \entry {numbers, as values of characters}{207}
  1505. \entry {numbers, Cliff random}{206}
  1506. \entry {numbers, converting}{101, 183}
  1507. \entry {numbers, converting, to strings}{135, 136}
  1508. \entry {numbers, floating-point}{319}
  1509. \entry {numbers, hexadecimal}{97}
  1510. \entry {numbers, octal}{97}
  1511. \entry {numbers, rounding}{206}
  1512. \entry {numeric constants}{97}
  1513. \entry {numeric functions}{159}
  1514. \entry {numeric, output format}{84}
  1515. \entry {numeric, strings}{110}
  1516. \initial {O}
  1517. \entry {\code {o} debugger command (alias for \code {option})}{314}
  1518. \entry {\command {oawk} utility}{4}
  1519. \entry {obsolete features}{39}
  1520. \entry {octal numbers}{97}
  1521. \entry {octal values\comma {} enabling interpretation of}{30}
  1522. \entry {\code {OFMT} variable}{84, 102, 136}
  1523. \entry {\code {OFMT} variable, POSIX \command {awk} and}{84}
  1524. \entry {\code {OFS} variable}{59, 83, 137}
  1525. \entry {OpenBSD}{448}
  1526. \entry {OpenSolaris}{422}
  1527. \entry {operating systems, BSD-based}{8}
  1528. \entry {operating systems, PC, \command {gawk} on}{415}
  1529. \entry {operating systems, PC\comma {} \command {gawk} on, installing}{413}
  1530. \entry {operating systems, porting \command {gawk} to}{427}
  1531. \entry {operating systems, See Also GNU/Linux\comma {} PC operating systems\comma {} Unix}{407}
  1532. \entry {operations, bitwise}{181}
  1533. \entry {operators, arithmetic}{103}
  1534. \entry {operators, assignment}{106}
  1535. \entry {operators, assignment, evaluation order}{107}
  1536. \entry {operators, Boolean, See Boolean expressions}{113}
  1537. \entry {operators, decrement/increment}{108}
  1538. \entry {operators, GNU-specific}{48}
  1539. \entry {operators, input/output}{73, 74, 75, 90, 91, 118}
  1540. \entry {operators, logical, See Boolean expressions}{113}
  1541. \entry {operators, precedence}{109, 117}
  1542. \entry {operators, relational, See operators\comma {} comparison}{110}
  1543. \entry {operators, short-circuit}{114}
  1544. \entry {operators, string}{104}
  1545. \entry {operators, string-matching}{41}
  1546. \entry {operators, string-matching, for buffers}{49}
  1547. \entry {operators, word-boundary (\command {gawk})}{49}
  1548. \entry {\code {option} debugger command}{314}
  1549. \entry {options, command-line}{27}
  1550. \entry {options, command-line, end of}{28}
  1551. \entry {options, command-line, invoking \command {awk}}{27}
  1552. \entry {options, command-line, processing}{216}
  1553. \entry {options, deprecated}{39}
  1554. \entry {options, long}{27}
  1555. \entry {options, printing list of}{30}
  1556. \entry {OR bitwise operation}{181}
  1557. \entry {or Boolean-logic operator}{113}
  1558. \entry {\code {or()} function (\command {gawk})}{181}
  1559. \entry {\code {ord()} extension function}{383}
  1560. \entry {\code {ord()} user-defined function}{207}
  1561. \entry {order of evaluation, concatenation}{105}
  1562. \entry {\code {ORS} variable}{83, 137}
  1563. \entry {output field separator, See \code {OFS} variable}{59}
  1564. \entry {output record separator, See \code {ORS} variable}{83}
  1565. \entry {output redirection}{90}
  1566. \entry {output wrapper}{349}
  1567. \entry {output, buffering}{173, 176}
  1568. \entry {output, duplicating into files}{246}
  1569. \entry {output, files\comma {} closing}{94}
  1570. \entry {output, format specifier\comma {} \code {OFMT}}{84}
  1571. \entry {output, formatted}{84}
  1572. \entry {output, pipes}{90}
  1573. \entry {output, printing, See printing}{81}
  1574. \entry {output, records}{83}
  1575. \entry {output, standard}{92}
  1576. \initial {P}
  1577. \entry {\code {p} debugger command (alias for \code {print})}{311}
  1578. \entry {P1003.1 POSIX standard}{445}
  1579. \entry {parent process ID of \command {gawk} process}{140}
  1580. \entry {parentheses \code {()}, in a profile}{291}
  1581. \entry {parentheses \code {()}, regexp operator}{45}
  1582. \entry {password file}{221}
  1583. \entry {\code {patsplit()} function (\command {gawk})}{166}
  1584. \entry {patterns}{119}
  1585. \entry {patterns, comparison expressions as}{120}
  1586. \entry {patterns, counts, in a profile}{291}
  1587. \entry {patterns, default}{20}
  1588. \entry {patterns, empty}{124}
  1589. \entry {patterns, expressions as}{119}
  1590. \entry {patterns, ranges in}{121}
  1591. \entry {patterns, regexp constants as}{120}
  1592. \entry {patterns, types of}{119}
  1593. \entry {\command {pawk} (profiling version of Brian Kernighan's \command {awk})}{422}
  1594. \entry {\code {pawk}, \command {awk}-like facilities for Python}{423}
  1595. \entry {PC operating systems, \command {gawk} on}{415}
  1596. \entry {PC operating systems\comma {} \command {gawk} on, installing}{413}
  1597. \entry {percent sign (\code {%}), \code {%} operator}{117}
  1598. \entry {percent sign (\code {%}), \code {%=} operator}{107, 118}
  1599. \entry {period (\code {.}), regexp operator}{45}
  1600. \entry {Perl}{430}
  1601. \entry {Peters, Arno}{404}
  1602. \entry {Peterson, Hal}{404}
  1603. \entry {pipe, closing}{94}
  1604. \entry {pipe, input}{74}
  1605. \entry {pipe, output}{90}
  1606. \entry {Pitts, Dave}{10, 421}
  1607. \entry {Plauger, P.J.\:}{201}
  1608. \entry {plug-in}{335}
  1609. \entry {plus sign (\code {+}), \code {+} operator}{117, 118}
  1610. \entry {plus sign (\code {+}), \code {++} operator}{108, 109, 117}
  1611. \entry {plus sign (\code {+}), \code {+=} operator}{107, 118}
  1612. \entry {plus sign (\code {+}), regexp operator}{45}
  1613. \entry {pointers to functions}{193}
  1614. \entry {portability}{43}
  1615. \entry {portability, \code {#!} (executable scripts)}{16}
  1616. \entry {portability, \code {**} operator and}{104}
  1617. \entry {portability, \code {**=} operator and}{108}
  1618. \entry {portability, \code {ARGV} variable}{16}
  1619. \entry {portability, backslash continuation and}{23}
  1620. \entry {portability, backslash in escape sequences}{44}
  1621. \entry {portability, \code {close()} function and}{95}
  1622. \entry {portability, data files as single record}{56}
  1623. \entry {portability, deleting array elements}{152}
  1624. \entry {portability, example programs}{201}
  1625. \entry {portability, functions\comma {} defining}{185}
  1626. \entry {portability, \command {gawk}}{427}
  1627. \entry {portability, \code {gettext} library and}{293}
  1628. \entry {portability, internationalization and}{298}
  1629. \entry {portability, \code {length()} function}{164}
  1630. \entry {portability, new \command {awk} vs.\: old \command {awk}}{102}
  1631. \entry {portability, \code {next} statement in user-defined functions}{191}
  1632. \entry {portability, \code {NF} variable\comma {} decrementing}{60}
  1633. \entry {portability, operators}{109}
  1634. \entry {portability, operators, not in POSIX \command {awk}}{118}
  1635. \entry {portability, \env {POSIXLY_CORRECT} environment variable}{33}
  1636. \entry {portability, \code {substr()} function}{169}
  1637. \entry {portable object files}{293, 297}
  1638. \entry {portable object files, converting to message object files}{300}
  1639. \entry {portable object files, generating}{29}
  1640. \entry {portable object template files}{293}
  1641. \entry {porting \command {gawk}}{427}
  1642. \entry {positional specifiers, \code {printf} statement}{86, 297}
  1643. \entry {positional specifiers, \code {printf} statement, mixing with regular formats}{298}
  1644. \entry {positive zero}{321}
  1645. \entry {POSIX \command {awk}}{5, 108}
  1646. \entry {POSIX \command {awk}, \code {**} operator and}{118}
  1647. \entry {POSIX \command {awk}, \code {**=} operator and}{108}
  1648. \entry {POSIX \command {awk}, \code {<} operator and}{73}
  1649. \entry {POSIX \command {awk}, \code {|} I/O operator and}{75}
  1650. \entry {POSIX \command {awk}, arithmetic operators and}{104}
  1651. \entry {POSIX \command {awk}, backslashes in string constants}{44}
  1652. \entry {POSIX \command {awk}, \code {BEGIN}/\code {END} patterns}{123}
  1653. \entry {POSIX \command {awk}, bracket expressions and}{47}
  1654. \entry {POSIX \command {awk}, bracket expressions and, character classes}{47, 48}
  1655. \entry {POSIX \command {awk}, \code {break} statement and}{131}
  1656. \entry {POSIX \command {awk}, changes in \command {awk} versions}{392}
  1657. \entry {POSIX \command {awk}, \code {continue} statement and}{132}
  1658. \entry {POSIX \command {awk}, \code {CONVFMT} variable and}{135}
  1659. \entry {POSIX \command {awk}, \code {date} utility and}{180}
  1660. \entry {POSIX \command {awk}, field separators and}{56, 65}
  1661. \entry {POSIX \command {awk}, \code {FS} variable and}{136}
  1662. \entry {POSIX \command {awk}, \code {function} keyword in}{185}
  1663. \entry {POSIX \command {awk}, functions and, \code {gsub()}/\code {sub()}}{171}
  1664. \entry {POSIX \command {awk}, functions and, \code {length()}}{164}
  1665. \entry {POSIX \command {awk}, GNU long options and}{27}
  1666. \entry {POSIX \command {awk}, interval expressions in}{46}
  1667. \entry {POSIX \command {awk}, \code {next}/\code {nextfile} statements and}{133}
  1668. \entry {POSIX \command {awk}, numeric strings and}{110}
  1669. \entry {POSIX \command {awk}, \code {OFMT} variable and}{84, 102}
  1670. \entry {POSIX \command {awk}, period (\code {.})\comma {} using}{45}
  1671. \entry {POSIX \command {awk}, \code {printf} format strings and}{88}
  1672. \entry {POSIX \command {awk}, regular expressions and}{46}
  1673. \entry {POSIX \command {awk}, timestamps and}{176}
  1674. \entry {POSIX mode}{31, 33}
  1675. \entry {POSIX, \command {awk} and}{3}
  1676. \entry {POSIX, \command {gawk} extensions not included in}{393}
  1677. \entry {POSIX, programs\comma {} implementing in \command {awk}}{233}
  1678. \entry {\env {POSIXLY_CORRECT} environment variable}{33}
  1679. \entry {\code {PREC} variable}{137, 329}
  1680. \entry {precedence}{109, 117}
  1681. \entry {precedence, regexp operators}{46}
  1682. \entry {\code {print} debugger command}{311}
  1683. \entry {\code {print} statement}{81}
  1684. \entry {\code {print} statement, \code {BEGIN}/\code {END} patterns and}{123}
  1685. \entry {\code {print} statement, commas, omitting}{82}
  1686. \entry {\code {print} statement, I/O operators in}{118}
  1687. \entry {\code {print} statement, line continuations and}{82}
  1688. \entry {\code {print} statement, \code {OFMT} variable and}{137}
  1689. \entry {\code {print} statement, See Also redirection\comma {} of output}{90}
  1690. \entry {\code {print} statement, \code {sprintf()} function and}{206}
  1691. \entry {print variables, in debugger}{311}
  1692. \entry {\code {printf} debugger command}{312}
  1693. \entry {\code {printf} statement}{81, 84}
  1694. \entry {\code {printf} statement, columns\comma {} aligning}{82}
  1695. \entry {\code {printf} statement, format-control characters}{85}
  1696. \entry {\code {printf} statement, I/O operators in}{118}
  1697. \entry {\code {printf} statement, modifiers}{86}
  1698. \entry {\code {printf} statement, positional specifiers}{86, 297}
  1699. \entry {\code {printf} statement, positional specifiers, mixing with regular formats}{298}
  1700. \entry {\code {printf} statement, See Also redirection\comma {} of output}{90}
  1701. \entry {\code {printf} statement, \code {sprintf()} function and}{206}
  1702. \entry {\code {printf} statement, syntax of}{84}
  1703. \entry {printing}{81}
  1704. \entry {printing messages from extensions}{351}
  1705. \entry {printing, list of options}{30}
  1706. \entry {printing, mailing labels}{259}
  1707. \entry {printing, unduplicated lines of text}{247}
  1708. \entry {printing, user information}{242}
  1709. \entry {private variables}{202}
  1710. \entry {process group idIDof \command {gawk} process}{140}
  1711. \entry {process ID of \command {gawk} process}{140}
  1712. \entry {processes, two-way communications with}{286}
  1713. \entry {processing data}{435}
  1714. \entry {\code {PROCINFO} array}{139, 177, 221}
  1715. \entry {\code {PROCINFO} array, and communications via ptys}{287}
  1716. \entry {\code {PROCINFO} array, and group membership}{225}
  1717. \entry {\code {PROCINFO} array, and user and group ID numbers}{242}
  1718. \entry {\code {PROCINFO} array, testing the field splitting}{224}
  1719. \entry {\code {PROCINFO} array, uses}{141}
  1720. \entry {\code {PROCINFO}, values of \code {sorted_in}}{150}
  1721. \entry {profiling \command {awk} programs}{289}
  1722. \entry {profiling \command {awk} programs, dynamically}{291}
  1723. \entry {program identifiers}{140}
  1724. \entry {program, definition of}{13}
  1725. \entry {programmers, attractiveness of}{285}
  1726. \entry {programming conventions, \code {--non-decimal-data} option}{279}
  1727. \entry {programming conventions, \code {ARGC}/\code {ARGV} variables}{138}
  1728. \entry {programming conventions, \code {exit} statement}{134}
  1729. \entry {programming conventions, function parameters}{191}
  1730. \entry {programming conventions, functions, calling}{159}
  1731. \entry {programming conventions, functions, writing}{185}
  1732. \entry {programming conventions, \command {gawk} extensions}{371}
  1733. \entry {programming conventions, private variable names}{202}
  1734. \entry {programming language, recipe for}{4}
  1735. \entry {programming languages, Ada}{439}
  1736. \entry {programming languages, Java}{444}
  1737. \entry {programming languages\comma {} data-driven vs.\: procedural}{13}
  1738. \entry {programming, basic steps}{435}
  1739. \entry {programming, concepts}{435}
  1740. \entry {\command {pwcat} program}{221}
  1741. \initial {Q}
  1742. \entry {\code {q} debugger command (alias for \code {quit})}{316}
  1743. \entry {QSE Awk}{423}
  1744. \entry {Quanstrom, Erik}{254}
  1745. \entry {question mark (\code {?}), \code {?:} operator}{118}
  1746. \entry {question mark (\code {?}), regexp operator}{46, 49}
  1747. \entry {QuikTrim Awk}{423}
  1748. \entry {\code {quit} debugger command}{316}
  1749. \entry {\code {QUIT} signal (MS-Windows)}{292}
  1750. \entry {quoting in \command {gawk} command lines}{15}
  1751. \entry {quoting in \command {gawk} command lines, tricks for}{17}
  1752. \entry {quoting, for small awk programs}{16}
  1753. \initial {R}
  1754. \entry {\code {r} debugger command (alias for \code {run})}{311}
  1755. \entry {Rakitzis, Byron}{262}
  1756. \entry {Ramey, Chet}{10, 339}
  1757. \entry {\code {rand()} function}{160}
  1758. \entry {random numbers, Cliff}{206}
  1759. \entry {random numbers, \code {rand()}/\code {srand()} functions}{160}
  1760. \entry {random numbers, seed of}{160}
  1761. \entry {range expressions (regexps)}{47}
  1762. \entry {range patterns}{121}
  1763. \entry {range patterns, line continuation and}{122}
  1764. \entry {Rankin, Pat}{10, 107, 404, 421}
  1765. \entry {\code {reada()} extension function}{385}
  1766. \entry {readable data files\comma {} checking}{214}
  1767. \entry {\code {readable.awk} program}{214}
  1768. \entry {\code {readdir} extension}{384}
  1769. \entry {\code {readfile()} extension function}{386}
  1770. \entry {\code {readfile()} user-defined function}{211}
  1771. \entry {reading input files}{53}
  1772. \entry {recipe for a programming language}{4}
  1773. \entry {record separators}{53, 137}
  1774. \entry {record separators, changing}{54}
  1775. \entry {record separators, regular expressions as}{55}
  1776. \entry {record separators, with multiline records}{69}
  1777. \entry {records}{53, 436}
  1778. \entry {records, multiline}{69}
  1779. \entry {records, printing}{81}
  1780. \entry {records, splitting input into}{53}
  1781. \entry {records, terminating}{55}
  1782. \entry {records, treating files as}{56}
  1783. \entry {recursive functions}{185}
  1784. \entry {redirect \command {gawk} output, in debugger}{314}
  1785. \entry {redirection of input}{73}
  1786. \entry {redirection of output}{90}
  1787. \entry {reference counting, sorting arrays}{285}
  1788. \entry {regexp}{41}
  1789. \entry {regexp constants}{42, 98, 113}
  1790. \entry {regexp constants, \code {/=\dots {}/}, \code {/=} operator and}{108}
  1791. \entry {regexp constants, as patterns}{120}
  1792. \entry {regexp constants, in \command {gawk}}{99}
  1793. \entry {regexp constants, slashes vs.\: quotes}{51}
  1794. \entry {regexp constants, vs.\: string constants}{51}
  1795. \entry {register extension}{344}
  1796. \entry {regular expressions}{41}
  1797. \entry {regular expressions as field separators}{61}
  1798. \entry {regular expressions, anchors in}{44}
  1799. \entry {regular expressions, as field separators}{61}
  1800. \entry {regular expressions, as patterns}{41, 119}
  1801. \entry {regular expressions, as record separators}{55}
  1802. \entry {regular expressions, case sensitivity}{49, 136}
  1803. \entry {regular expressions, computed}{51}
  1804. \entry {regular expressions, constants, See regexp constants}{42}
  1805. \entry {regular expressions, dynamic}{51}
  1806. \entry {regular expressions, dynamic, with embedded newlines}{52}
  1807. \entry {regular expressions, \command {gawk}, command-line options}{49}
  1808. \entry {regular expressions, interval expressions and}{32}
  1809. \entry {regular expressions, leftmost longest match}{50}
  1810. \entry {regular expressions, operators}{41, 44}
  1811. \entry {regular expressions, operators, for buffers}{49}
  1812. \entry {regular expressions, operators, for words}{48}
  1813. \entry {regular expressions, operators, \command {gawk}}{48}
  1814. \entry {regular expressions, operators, precedence of}{46}
  1815. \entry {regular expressions, searching for}{238}
  1816. \entry {relational operators, See comparison operators}{110}
  1817. \entry {replace in string}{168}
  1818. \entry {\code {return} debugger command}{310}
  1819. \entry {\code {return} statement\comma {} user-defined functions}{191}
  1820. \entry {return value\comma {} \code {close()} function}{96}
  1821. \entry {\code {rev()} user-defined function}{186}
  1822. \entry {\code {revoutput} extension}{384}
  1823. \entry {\code {revtwoway} extension}{385}
  1824. \entry {\code {rewind()} user-defined function}{214}
  1825. \entry {right angle bracket (\code {>}), \code {>} operator}{111, 118}
  1826. \entry {right angle bracket (\code {>}), \code {>} operator (I/O)}{90}
  1827. \entry {right angle bracket (\code {>}), \code {>=} operator}{111, 118}
  1828. \entry {right angle bracket (\code {>}), \code {>>} operator (I/O)}{90, 118}
  1829. \entry {right shift}{182}
  1830. \entry {right shift, bitwise}{181}
  1831. \entry {Ritchie, Dennis}{437}
  1832. \entry {\code {RLENGTH} variable}{141}
  1833. \entry {\code {RLENGTH} variable, \code {match()} function and}{164}
  1834. \entry {Robbins, Arnold}{64, 75, 223, 254, 339, 405, 420, 430}
  1835. \entry {Robbins, Bill}{75}
  1836. \entry {Robbins, Harry}{10}
  1837. \entry {Robbins, Jean}{10}
  1838. \entry {Robbins, Miriam}{10, 75, 223}
  1839. \entry {Rommel, Kai Uwe}{404}
  1840. \entry {round to nearest integer}{160}
  1841. \entry {\code {round()} user-defined function}{206}
  1842. \entry {rounding mode, floating-point}{326}
  1843. \entry {rounding numbers}{206}
  1844. \entry {\code {ROUNDMODE} variable}{137, 330}
  1845. \entry {\code {RS} variable}{53, 137}
  1846. \entry {\code {RS} variable, multiline records and}{69}
  1847. \entry {\code {rshift()} function (\command {gawk})}{182}
  1848. \entry {\code {RSTART} variable}{141}
  1849. \entry {\code {RSTART} variable, \code {match()} function and}{164}
  1850. \entry {\code {RT} variable}{55, 71, 142}
  1851. \entry {Rubin, Paul}{4, 403}
  1852. \entry {rule, definition of}{13}
  1853. \entry {\code {run} debugger command}{311}
  1854. \entry {rvalues/lvalues}{106}
  1855. \initial {S}
  1856. \entry {\code {s} debugger command (alias for \code {step})}{311}
  1857. \entry {sample debugging session}{304}
  1858. \entry {sandbox mode}{32}
  1859. \entry {save debugger options}{314}
  1860. \entry {scalar or array}{183}
  1861. \entry {scalar values}{436}
  1862. \entry {scanning arrays}{148}
  1863. \entry {scanning multidimensional arrays}{155}
  1864. \entry {Schorr, Andrew}{10, 405}
  1865. \entry {Schreiber, Bert}{10}
  1866. \entry {Schreiber, Rita}{10}
  1867. \entry {search and replace in strings}{162}
  1868. \entry {search in string}{163}
  1869. \entry {search paths}{274, 415, 419}
  1870. \entry {search paths, for shared libraries}{35}
  1871. \entry {search paths, for source files}{34, 274, 415, 419}
  1872. \entry {searching, files for regular expressions}{238}
  1873. \entry {searching, for words}{253}
  1874. \entry {\command {sed} utility}{65, 266, 439}
  1875. \entry {seeding random number generator}{160}
  1876. \entry {semicolon (\code {;}), \code {AWKPATH} variable and}{415}
  1877. \entry {semicolon (\code {;}), separating statements in actions}{24, 125, 126}
  1878. \entry {separators, field}{135, 137}
  1879. \entry {separators, field, \code {FIELDWIDTHS} variable and}{135}
  1880. \entry {separators, field, \code {FPAT} variable and}{135}
  1881. \entry {separators, field, POSIX and}{56}
  1882. \entry {separators, for records}{53, 54, 137}
  1883. \entry {separators, for records, regular expressions as}{55}
  1884. \entry {separators, for statements in actions}{125}
  1885. \entry {separators, subscript}{137}
  1886. \entry {set breakpoint}{308}
  1887. \entry {\code {set} debugger command}{312}
  1888. \entry {set directory of message catalogs}{183}
  1889. \entry {set watchpoint}{312}
  1890. \entry {setting rounding mode}{330}
  1891. \entry {setting working precision}{329}
  1892. \entry {shadowing of variable values}{185}
  1893. \entry {shell quoting, double quote}{14}
  1894. \entry {shell quoting, rules for}{17}
  1895. \entry {shells, piping commands into}{92}
  1896. \entry {shells, quoting}{124}
  1897. \entry {shells, quoting, rules for}{17}
  1898. \entry {shells, scripts}{13}
  1899. \entry {shells, sea}{39}
  1900. \entry {shells, variables}{124}
  1901. \entry {shift, bitwise}{181}
  1902. \entry {short-circuit operators}{114}
  1903. \entry {show all source files, in debugger}{313}
  1904. \entry {show breakpoints}{313}
  1905. \entry {show function arguments, in debugger}{313}
  1906. \entry {show local variables, in debugger}{313}
  1907. \entry {show name of current source file, in debugger}{313}
  1908. \entry {show watchpoints}{313}
  1909. \entry {\code {si} debugger command (alias for \code {stepi})}{311}
  1910. \entry {side effects}{105, 108, 109}
  1911. \entry {side effects, array indexing}{147}
  1912. \entry {side effects, \code {asort()} function}{284}
  1913. \entry {side effects, assignment expressions}{106}
  1914. \entry {side effects, Boolean operators}{114}
  1915. \entry {side effects, conditional expressions}{115}
  1916. \entry {side effects, decrement/increment operators}{108}
  1917. \entry {side effects, \code {FILENAME} variable}{76}
  1918. \entry {side effects, function calls}{116}
  1919. \entry {side effects, statements}{126}
  1920. \entry {sidebar, A Constant's Base Does Not Affect Its Value}{98}
  1921. \entry {sidebar, Backslash Before Regular Characters}{44}
  1922. \entry {sidebar, Changing \code {FS} Does Not Affect the Fields}{65}
  1923. \entry {sidebar, Changing \code {NR} and \code {FNR}}{143}
  1924. \entry {sidebar, Controlling Output Buffering with \code {system()}}{175}
  1925. \entry {sidebar, Escape Sequences for Metacharacters}{44}
  1926. \entry {sidebar, \code {FS} and \code {IGNORECASE}}{65}
  1927. \entry {sidebar, Interactive Versus Noninteractive Buffering}{175}
  1928. \entry {sidebar, Matching the Null String}{173}
  1929. \entry {sidebar, Operator Evaluation Order}{109}
  1930. \entry {sidebar, Piping into \command {sh}}{92}
  1931. \entry {sidebar, Portability Issues with \samp {#!}}{15}
  1932. \entry {sidebar, Recipe For A Programming Language}{4}
  1933. \entry {sidebar, \code {RS = "{\tt \backslashcurfont }0"} Is Not Portable}{56}
  1934. \entry {sidebar, So Why Does \command {gawk} have \code {BEGINFILE} and \code {ENDFILE}?}{213}
  1935. \entry {sidebar, Syntactic Ambiguities Between \samp {/=} and Regular Expressions}{108}
  1936. \entry {sidebar, Understanding \code {$0}}{60}
  1937. \entry {sidebar, Using \code {{\tt \backslashcurfont }n} in Bracket Expressions of Dynamic Regexps}{52}
  1938. \entry {sidebar, Using \code {close()}'s Return Value}{96}
  1939. \entry {\code {SIGHUP} signal, for dynamic profiling}{292}
  1940. \entry {\code {SIGINT} signal (MS-Windows)}{292}
  1941. \entry {signals, \code {HUP}/\code {SIGHUP}, for profiling}{292}
  1942. \entry {signals, \code {INT}/\code {SIGINT} (MS-Windows)}{292}
  1943. \entry {signals, \code {QUIT}/\code {SIGQUIT} (MS-Windows)}{292}
  1944. \entry {signals, \code {USR1}/\code {SIGUSR1}, for profiling}{292}
  1945. \entry {signature program}{276}
  1946. \entry {\code {SIGQUIT} signal (MS-Windows)}{292}
  1947. \entry {\code {SIGUSR1} signal, for dynamic profiling}{292}
  1948. \entry {\code {silent} debugger command}{310}
  1949. \entry {\code {sin()} function}{161}
  1950. \entry {sine}{161}
  1951. \entry {single precision floating-point}{319}
  1952. \entry {single quote (\code {'})}{13}
  1953. \entry {single quote (\code {'}) in \command {gawk} command lines}{15}
  1954. \entry {single quote (\code {'}), in shell commands}{17}
  1955. \entry {single quote (\code {'}), vs.\: apostrophe}{16}
  1956. \entry {single quote (\code {'}), with double quotes}{17}
  1957. \entry {single-character fields}{63}
  1958. \entry {single-step execution, in the debugger}{310}
  1959. \entry {Skywalker, Luke}{39}
  1960. \entry {\command {sleep} utility}{256}
  1961. \entry {\code {sleep()} extension function}{386}
  1962. \entry {Solaris, POSIX-compliant \command {awk}}{422}
  1963. \entry {sort array}{161}
  1964. \entry {sort array indices}{161}
  1965. \entry {sort function, arrays, sorting}{284}
  1966. \entry {\command {sort} utility}{261}
  1967. \entry {\command {sort} utility, coprocesses and}{287}
  1968. \entry {sorting characters in different languages}{294}
  1969. \entry {source code, \command {awka}}{422}
  1970. \entry {source code, Brian Kernighan's \command {awk}}{421}
  1971. \entry {source code, Busybox Awk}{422}
  1972. \entry {source code, \command {gawk}}{407}
  1973. \entry {source code, Illumos \command {awk}}{423}
  1974. \entry {source code, \command {jawk}}{423}
  1975. \entry {source code, libmawk}{423}
  1976. \entry {source code, \command {mawk}}{422}
  1977. \entry {source code, mixing}{29}
  1978. \entry {source code, \command {pawk}}{422}
  1979. \entry {source code, \command {pawk} (Python version)}{423}
  1980. \entry {source code, QSE Awk}{423}
  1981. \entry {source code, QuikTrim Awk}{423}
  1982. \entry {source code, Solaris \command {awk}}{422}
  1983. \entry {source files\comma {} search path for}{274}
  1984. \entry {sparse arrays}{146}
  1985. \entry {Spencer, Henry}{439}
  1986. \entry {split string into array}{166}
  1987. \entry {\code {split} utility}{244}
  1988. \entry {\code {split()} function}{166}
  1989. \entry {\code {split()} function, array elements\comma {} deleting}{152}
  1990. \entry {\code {split.awk} program}{244}
  1991. \entry {\code {sprintf()} function}{84, 167}
  1992. \entry {\code {sprintf()} function, \code {OFMT} variable and}{137}
  1993. \entry {\code {sprintf()} function, \code {print}/\code {printf} statements and}{206}
  1994. \entry {\code {sqrt()} function}{161}
  1995. \entry {square brackets (\code {[]}), regexp operator}{45}
  1996. \entry {square root}{161}
  1997. \entry {\code {srand()} function}{161}
  1998. \entry {stack frame}{303}
  1999. \entry {Stallman, Richard}{8, 9, 403, 443}
  2000. \entry {standard error}{92}
  2001. \entry {standard input}{14, 92}
  2002. \entry {standard output}{92}
  2003. \entry {starting the debugger}{305}
  2004. \entry {\code {stat()} extension function}{378}
  2005. \entry {statements, compound\comma {} control statements and}{126}
  2006. \entry {statements, control, in actions}{126}
  2007. \entry {statements, multiple}{24}
  2008. \entry {\code {step} debugger command}{311}
  2009. \entry {\code {stepi} debugger command}{311}
  2010. \entry {stop automatic display, in debugger}{312}
  2011. \entry {stream editors}{65, 266}
  2012. \entry {\code {strftime()} function (\command {gawk})}{177}
  2013. \entry {string constants}{97}
  2014. \entry {string constants, vs.\: regexp constants}{51}
  2015. \entry {string extraction (internationalization)}{297}
  2016. \entry {string length}{164}
  2017. \entry {string operators}{104}
  2018. \entry {string, regular expression match}{164}
  2019. \entry {string-manipulation functions}{161}
  2020. \entry {string-matching operators}{41}
  2021. \entry {string-translation functions}{183}
  2022. \entry {strings splitting, example}{166}
  2023. \entry {strings, converting}{101, 183}
  2024. \entry {strings, converting letter case}{169}
  2025. \entry {strings, converting, numbers to}{135, 136}
  2026. \entry {strings, empty, See null strings}{55}
  2027. \entry {strings, extracting}{297}
  2028. \entry {strings, for localization}{295}
  2029. \entry {strings, length limitations}{97}
  2030. \entry {strings, merging arrays into}{209}
  2031. \entry {strings, null}{62}
  2032. \entry {strings, numeric}{110}
  2033. \entry {\code {strtonum()} function (\command {gawk})}{167}
  2034. \entry {\code {strtonum()} function (\command {gawk}), \code {--non-decimal-data} option and}{279}
  2035. \entry {\code {sub()} function}{99, 168}
  2036. \entry {\code {sub()} function, arguments of}{169}
  2037. \entry {\code {sub()} function, escape processing}{170}
  2038. \entry {subscript separators}{137}
  2039. \entry {subscripts in arrays, multidimensional}{154}
  2040. \entry {subscripts in arrays, multidimensional, scanning}{155}
  2041. \entry {subscripts in arrays, numbers as}{153}
  2042. \entry {subscripts in arrays, uninitialized variables as}{153}
  2043. \entry {\code {SUBSEP} variable}{137}
  2044. \entry {\code {SUBSEP} variable, and multidimensional arrays}{154}
  2045. \entry {substitute in string}{162}
  2046. \entry {\code {substr()} function}{169}
  2047. \entry {substring}{169}
  2048. \entry {Sumner, Andrew}{422}
  2049. \entry {supplementary groups of \command {gawk} process}{141}
  2050. \entry {\code {switch} statement}{129}
  2051. \entry {\code {SYMTAB} array}{142}
  2052. \entry {syntactic ambiguity: \code {/=} operator vs. \code {/=\dots {}/} regexp constant}{108}
  2053. \entry {\code {system()} function}{174}
  2054. \entry {\code {systime()} function (\command {gawk})}{177}
  2055. \initial {T}
  2056. \entry {\code {t} debugger command (alias for \code {tbreak})}{310}
  2057. \entry {\code {tbreak} debugger command}{310}
  2058. \entry {Tcl}{202}
  2059. \entry {TCP/IP}{287}
  2060. \entry {TCP/IP, support for}{93}
  2061. \entry {\code {tee} utility}{246}
  2062. \entry {\code {tee.awk} program}{246}
  2063. \entry {temporary breakpoint}{310}
  2064. \entry {terminating records}{55}
  2065. \entry {\code {testbits.awk} program}{182}
  2066. \entry {\code {testext} extension}{386}
  2067. \entry {Texinfo}{7, 201, 253, 263, 409, 427}
  2068. \entry {Texinfo, chapter beginnings in files}{44}
  2069. \entry {Texinfo, extracting programs from source files}{263}
  2070. \entry {text, printing}{81}
  2071. \entry {text\comma {} printing, unduplicated lines of}{247}
  2072. \entry {\code {TEXTDOMAIN} variable}{137, 295}
  2073. \entry {\code {TEXTDOMAIN} variable, \code {BEGIN} pattern and}{296}
  2074. \entry {\code {TEXTDOMAIN} variable, portability and}{298}
  2075. \entry {\code {textdomain()} function (C library)}{293}
  2076. \entry {tilde (\code {~}), \code {~} operator}{41, 50, 51, 98, 111, 113, 118, 120}
  2077. \entry {time functions}{176}
  2078. \entry {time, alarm clock example program}{254}
  2079. \entry {time, localization and}{295}
  2080. \entry {time, managing}{209}
  2081. \entry {time, retrieving}{176}
  2082. \entry {timeout, reading input}{77}
  2083. \entry {timestamps}{176, 177}
  2084. \entry {timestamps, converting dates to}{177}
  2085. \entry {timestamps, formatted}{209}
  2086. \entry {\code {tolower()} function}{170}
  2087. \entry {\code {toupper()} function}{170}
  2088. \entry {\command {tr} utility}{257}
  2089. \entry {\code {trace} debugger command}{316}
  2090. \entry {traceback, display in debugger}{312}
  2091. \entry {translate string}{183}
  2092. \entry {\code {translate.awk} program}{257}
  2093. \entry {treating files, as single records}{56}
  2094. \entry {troubleshooting, \code {--non-decimal-data} option}{30}
  2095. \entry {troubleshooting, \code {==} operator}{112}
  2096. \entry {troubleshooting, \command {awk} uses \code {FS} not \code {IFS}}{61}
  2097. \entry {troubleshooting, backslash before nonspecial character}{44}
  2098. \entry {troubleshooting, division}{104}
  2099. \entry {troubleshooting, fatal errors, field widths\comma {} specifying}{66}
  2100. \entry {troubleshooting, fatal errors, \code {printf} format strings}{88}
  2101. \entry {troubleshooting, \code {fflush()} function}{174}
  2102. \entry {troubleshooting, function call syntax}{116}
  2103. \entry {troubleshooting, \command {gawk}}{425}
  2104. \entry {troubleshooting, \command {gawk}, bug reports}{420}
  2105. \entry {troubleshooting, \command {gawk}, fatal errors\comma {} function arguments}{159}
  2106. \entry {troubleshooting, \code {getline} function}{215}
  2107. \entry {troubleshooting, \code {gsub()}/\code {sub()} functions}{169}
  2108. \entry {troubleshooting, \code {match()} function}{166}
  2109. \entry {troubleshooting, \code {patsplit()} function}{166}
  2110. \entry {troubleshooting, \code {print} statement\comma {} omitting commas}{82}
  2111. \entry {troubleshooting, printing}{91}
  2112. \entry {troubleshooting, quotes with file names}{93}
  2113. \entry {troubleshooting, readable data files}{214}
  2114. \entry {troubleshooting, regexp constants vs.\: string constants}{51}
  2115. \entry {troubleshooting, string concatenation}{105}
  2116. \entry {troubleshooting, \code {substr()} function}{169}
  2117. \entry {troubleshooting, \code {system()} function}{174}
  2118. \entry {troubleshooting, typographical errors\comma {} global variables}{29}
  2119. \entry {true, logical}{109}
  2120. \entry {Trueman, David}{4, 10, 403}
  2121. \entry {trunc-mod operation}{104}
  2122. \entry {truth values}{109}
  2123. \entry {type conversion}{101}
  2124. \initial {U}
  2125. \entry {\code {u} debugger command (alias for \code {until})}{311}
  2126. \entry {unassigned array elements}{147}
  2127. \entry {undefined functions}{190}
  2128. \entry {underscore (\code {_}), C macro}{294}
  2129. \entry {underscore (\code {_}), in names of private variables}{202}
  2130. \entry {underscore (\code {_}), translatable string}{296}
  2131. \entry {\code {undisplay} debugger command}{312}
  2132. \entry {undocumented features}{39}
  2133. \entry {Unicode}{208, 402, 440}
  2134. \entry {uninitialized variables, as array subscripts}{153}
  2135. \entry {\command {uniq} utility}{247}
  2136. \entry {\code {uniq.awk} program}{248}
  2137. \entry {Unix}{448}
  2138. \entry {Unix \command {awk}, backslashes in escape sequences}{44}
  2139. \entry {Unix \command {awk}, \code {close()} function and}{96}
  2140. \entry {Unix \command {awk}, password files\comma {} field separators and}{64}
  2141. \entry {Unix, \command {awk} scripts and}{15}
  2142. \entry {\code {UNIXROOT} variable, on OS/2 systems}{415}
  2143. \entry {unsigned integers}{319}
  2144. \entry {\code {until} debugger command}{311}
  2145. \entry {\code {unwatch} debugger command}{312}
  2146. \entry {\code {up} debugger command}{313}
  2147. \entry {user database\comma {} reading}{221}
  2148. \entry {user-defined functions}{184}
  2149. \entry {user-defined, functions, counts, in a profile}{291}
  2150. \entry {user-defined, variables}{100}
  2151. \entry {user-modifiable variables}{135}
  2152. \entry {users, information about, printing}{242}
  2153. \entry {users, information about, retrieving}{221}
  2154. \entry {\code {USR1} signal, for dynamic profiling}{292}
  2155. \initial {V}
  2156. \entry {values, numeric}{436}
  2157. \entry {values, string}{436}
  2158. \entry {variable assignments and input files}{33}
  2159. \entry {variable typing}{110}
  2160. \entry {variables}{24, 436}
  2161. \entry {variables, assigning on command line}{100}
  2162. \entry {variables, built-in}{100, 134}
  2163. \entry {variables, built-in, \code {-v} option\comma {} setting with}{28}
  2164. \entry {variables, built-in, conveying information}{137}
  2165. \entry {variables, flag}{114}
  2166. \entry {variables, \code {getline} command into\comma {} using}{72, 73, 75, 76}
  2167. \entry {variables, global, for library functions}{202}
  2168. \entry {variables, global, printing list of}{29}
  2169. \entry {variables, initializing}{100}
  2170. \entry {variables, local to a function}{187}
  2171. \entry {variables, names of}{145}
  2172. \entry {variables, private}{202}
  2173. \entry {variables, setting}{28}
  2174. \entry {variables, shadowing}{185}
  2175. \entry {variables, types of}{106}
  2176. \entry {variables, types of, comparison expressions and}{110}
  2177. \entry {variables, uninitialized\comma {} as array subscripts}{153}
  2178. \entry {variables, user-defined}{100}
  2179. \entry {version of \command {gawk}}{141}
  2180. \entry {version of \command {gawk} extension API}{141}
  2181. \entry {version of GNU MP library}{141}
  2182. \entry {version of GNU MPFR library}{141}
  2183. \entry {vertical bar (\code {|})}{45}
  2184. \entry {vertical bar (\code {|}), \code {|} operator (I/O)}{74, 118}
  2185. \entry {vertical bar (\code {|}), \code {|&} operator (I/O)}{75, 118, 286}
  2186. \entry {vertical bar (\code {|}), \code {||} operator}{114, 118}
  2187. \entry {Vinschen, Corinna}{10}
  2188. \initial {W}
  2189. \entry {\code {w} debugger command (alias for \code {watch})}{312}
  2190. \entry {\command {w} utility}{66}
  2191. \entry {\code {wait()} extension function}{382}
  2192. \entry {\code {waitpid()} extension function}{382}
  2193. \entry {\code {walk_array()} user-defined function}{230}
  2194. \entry {Wall, Larry}{145, 430}
  2195. \entry {Wallin, Anders}{404}
  2196. \entry {warnings, issuing}{30}
  2197. \entry {\code {watch} debugger command}{312}
  2198. \entry {watchpoint}{304}
  2199. \entry {\command {wc} utility}{251}
  2200. \entry {\code {wc.awk} program}{251}
  2201. \entry {Weinberger, Peter}{4, 403}
  2202. \entry {\code {while} statement}{127}
  2203. \entry {\code {while} statement, use of regexps in}{41}
  2204. \entry {whitespace, as field separators}{61}
  2205. \entry {whitespace, functions\comma {} calling}{159}
  2206. \entry {whitespace, newlines as}{31}
  2207. \entry {Williams, Kent}{404}
  2208. \entry {Woehlke, Matthew}{404}
  2209. \entry {Woods, John}{403}
  2210. \entry {word boundaries\comma {} matching}{48}
  2211. \entry {word, regexp definition of}{48}
  2212. \entry {word-boundary operator (\command {gawk})}{49}
  2213. \entry {\code {wordfreq.awk} program}{261}
  2214. \entry {words, counting}{251}
  2215. \entry {words, duplicate\comma {} searching for}{253}
  2216. \entry {words, usage counts\comma {} generating}{261}
  2217. \entry {\code {writea()} extension function}{385}
  2218. \initial {X}
  2219. \entry {\code {xgettext} utility}{297}
  2220. \entry {XOR bitwise operation}{181}
  2221. \entry {\code {xor()} function (\command {gawk})}{182}
  2222. \initial {Y}
  2223. \entry {Yawitz, Efraim}{405}
  2224. \initial {Z}
  2225. \entry {Zaretskii, Eli}{10, 404, 421}
  2226. \entry {zero\comma {} negative vs.\: positive}{321}
  2227. \entry {\code {zerofile.awk} program}{215}
  2228. \entry {Zoulas, Christos}{404}