diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/gawk.info | 1053 | ||||
-rw-r--r-- | doc/gawk.texi | 5 | ||||
-rw-r--r-- | doc/gawktexi.in | 5 | ||||
-rw-r--r-- | doc/it/ChangeLog | 4 | ||||
-rwxr-xr-x | doc/it/gawktexi.in | 166 |
6 files changed, 639 insertions, 598 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 887a0d48..3e692a17 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2017-10-08 Andrew J. Schorr <aschorr@telemetry-investments.com> + + * gawktexi.in: Fix discussion of AWKPATH in section on @include. + 2017-10-04 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: Update the update month to October. diff --git a/doc/gawk.info b/doc/gawk.info index 8c8e96d9..2393096e 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -3241,9 +3241,8 @@ reducing the need for writing complex and tedious command lines. In particular, '@include' is very useful for writing CGI scripts to be run from web pages. - As mentioned in *note AWKPATH Variable::, the current directory is -always searched first for source files, before searching in 'AWKPATH'; -this also applies to files named with '@include'. + The rules for finding a source file described in *note AWKPATH +Variable:: also apply to files loaded with '@include'. File: gawk.info, Node: Loading Shared Libraries, Next: Obsolete, Prev: Include Files, Up: Invoking Gawk @@ -35939,529 +35938,529 @@ Node: AWKLIBPATH Variable143375 Node: Other Environment Variables144632 Node: Exit Status148453 Node: Include Files149130 -Node: Loading Shared Libraries152725 -Node: Obsolete154153 -Node: Undocumented154845 -Node: Invoking Summary155142 -Node: Regexp156802 -Node: Regexp Usage158256 -Node: Escape Sequences160293 -Node: Regexp Operators166525 -Ref: Regexp Operators-Footnote-1173941 -Ref: Regexp Operators-Footnote-2174088 -Node: Bracket Expressions174186 -Ref: table-char-classes176662 -Node: Leftmost Longest179799 -Node: Computed Regexps181102 -Node: GNU Regexp Operators184529 -Node: Case-sensitivity188208 -Ref: Case-sensitivity-Footnote-1191095 -Ref: Case-sensitivity-Footnote-2191330 -Node: Regexp Summary191438 -Node: Reading Files192904 -Node: Records195173 -Node: awk split records195906 -Node: gawk split records200837 -Ref: gawk split records-Footnote-1205377 -Node: Fields205414 -Node: Nonconstant Fields208155 -Ref: Nonconstant Fields-Footnote-1210391 -Node: Changing Fields210595 -Node: Field Separators216523 -Node: Default Field Splitting219221 -Node: Regexp Field Splitting220339 -Node: Single Character Fields223692 -Node: Command Line Field Separator224752 -Node: Full Line Fields227970 -Ref: Full Line Fields-Footnote-1229492 -Ref: Full Line Fields-Footnote-2229538 -Node: Field Splitting Summary229639 -Node: Constant Size231713 -Node: Fixed width data232445 -Node: Skipping intervening235912 -Node: Allowing trailing data236710 -Node: Fields with fixed data237747 -Node: Splitting By Content239265 -Ref: Splitting By Content-Footnote-1242915 -Node: Testing field creation243078 -Node: Multiple Line244703 -Ref: Multiple Line-Footnote-1250587 -Node: Getline250766 -Node: Plain Getline253235 -Node: Getline/Variable255876 -Node: Getline/File257027 -Node: Getline/Variable/File258415 -Ref: Getline/Variable/File-Footnote-1260020 -Node: Getline/Pipe260108 -Node: Getline/Variable/Pipe262815 -Node: Getline/Coprocess263950 -Node: Getline/Variable/Coprocess265217 -Node: Getline Notes265959 -Node: Getline Summary268756 -Ref: table-getline-variants269180 -Node: Read Timeout269928 -Ref: Read Timeout-Footnote-1273834 -Node: Retrying Input273892 -Node: Command-line directories275091 -Node: Input Summary275997 -Node: Input Exercises279169 -Node: Printing279897 -Node: Print281731 -Node: Print Examples283188 -Node: Output Separators285968 -Node: OFMT287985 -Node: Printf289341 -Node: Basic Printf290126 -Node: Control Letters291700 -Node: Format Modifiers295688 -Node: Printf Examples301703 -Node: Redirection304189 -Node: Special FD311030 -Ref: Special FD-Footnote-1314198 -Node: Special Files314272 -Node: Other Inherited Files314889 -Node: Special Network315890 -Node: Special Caveats316750 -Node: Close Files And Pipes317699 -Ref: table-close-pipe-return-values324606 -Ref: Close Files And Pipes-Footnote-1325389 -Ref: Close Files And Pipes-Footnote-2325537 -Node: Nonfatal325689 -Node: Output Summary328014 -Node: Output Exercises329236 -Node: Expressions329915 -Node: Values331103 -Node: Constants331781 -Node: Scalar Constants332472 -Ref: Scalar Constants-Footnote-1333336 -Node: Nondecimal-numbers333586 -Node: Regexp Constants336587 -Node: Using Constant Regexps337113 -Node: Standard Regexp Constants337735 -Node: Strong Regexp Constants340923 -Node: Variables343881 -Node: Using Variables344538 -Node: Assignment Options346448 -Node: Conversion348321 -Node: Strings And Numbers348845 -Ref: Strings And Numbers-Footnote-1351908 -Node: Locale influences conversions352017 -Ref: table-locale-affects354775 -Node: All Operators355393 -Node: Arithmetic Ops356022 -Node: Concatenation358528 -Ref: Concatenation-Footnote-1361375 -Node: Assignment Ops361482 -Ref: table-assign-ops366473 -Node: Increment Ops367786 -Node: Truth Values and Conditions371246 -Node: Truth Values372320 -Node: Typing and Comparison373368 -Node: Variable Typing374188 -Ref: Variable Typing-Footnote-1380651 -Ref: Variable Typing-Footnote-2380723 -Node: Comparison Operators380800 -Ref: table-relational-ops381219 -Node: POSIX String Comparison384714 -Ref: POSIX String Comparison-Footnote-1386409 -Ref: POSIX String Comparison-Footnote-2386548 -Node: Boolean Ops386632 -Ref: Boolean Ops-Footnote-1391114 -Node: Conditional Exp391206 -Node: Function Calls392942 -Node: Precedence396819 -Node: Locales400478 -Node: Expressions Summary402110 -Node: Patterns and Actions404683 -Node: Pattern Overview405803 -Node: Regexp Patterns407480 -Node: Expression Patterns408022 -Node: Ranges411803 -Node: BEGIN/END414911 -Node: Using BEGIN/END415672 -Ref: Using BEGIN/END-Footnote-1418408 -Node: I/O And BEGIN/END418514 -Node: BEGINFILE/ENDFILE420828 -Node: Empty423741 -Node: Using Shell Variables424058 -Node: Action Overview426332 -Node: Statements428657 -Node: If Statement430505 -Node: While Statement432000 -Node: Do Statement434028 -Node: For Statement435176 -Node: Switch Statement438334 -Node: Break Statement440720 -Node: Continue Statement442812 -Node: Next Statement444639 -Node: Nextfile Statement447022 -Node: Exit Statement449674 -Node: Built-in Variables452077 -Node: User-modified453210 -Node: Auto-set460977 -Ref: Auto-set-Footnote-1477310 -Ref: Auto-set-Footnote-2477516 -Node: ARGC and ARGV477572 -Node: Pattern Action Summary481785 -Node: Arrays484215 -Node: Array Basics485544 -Node: Array Intro486388 -Ref: figure-array-elements488363 -Ref: Array Intro-Footnote-1491067 -Node: Reference to Elements491195 -Node: Assigning Elements493659 -Node: Array Example494150 -Node: Scanning an Array495909 -Node: Controlling Scanning498931 -Ref: Controlling Scanning-Footnote-1504330 -Node: Numeric Array Subscripts504646 -Node: Uninitialized Subscripts506830 -Node: Delete508449 -Ref: Delete-Footnote-1511201 -Node: Multidimensional511258 -Node: Multiscanning514353 -Node: Arrays of Arrays515944 -Node: Arrays Summary520711 -Node: Functions522804 -Node: Built-in523842 -Node: Calling Built-in524923 -Node: Numeric Functions526919 -Ref: Numeric Functions-Footnote-1530947 -Ref: Numeric Functions-Footnote-2531304 -Ref: Numeric Functions-Footnote-3531352 -Node: String Functions531624 -Ref: String Functions-Footnote-1555282 -Ref: String Functions-Footnote-2555410 -Ref: String Functions-Footnote-3555658 -Node: Gory Details555745 -Ref: table-sub-escapes557536 -Ref: table-sub-proposed559055 -Ref: table-posix-sub560418 -Ref: table-gensub-escapes561959 -Ref: Gory Details-Footnote-1562782 -Node: I/O Functions562936 -Ref: table-system-return-values569518 -Ref: I/O Functions-Footnote-1571498 -Ref: I/O Functions-Footnote-2571646 -Node: Time Functions571766 -Ref: Time Functions-Footnote-1582437 -Ref: Time Functions-Footnote-2582505 -Ref: Time Functions-Footnote-3582663 -Ref: Time Functions-Footnote-4582774 -Ref: Time Functions-Footnote-5582886 -Ref: Time Functions-Footnote-6583113 -Node: Bitwise Functions583379 -Ref: table-bitwise-ops583973 -Ref: Bitwise Functions-Footnote-1590006 -Ref: Bitwise Functions-Footnote-2590179 -Node: Type Functions590370 -Node: I18N Functions593287 -Node: User-defined594938 -Node: Definition Syntax595743 -Ref: Definition Syntax-Footnote-1601430 -Node: Function Example601501 -Ref: Function Example-Footnote-1604423 -Node: Function Caveats604445 -Node: Calling A Function604963 -Node: Variable Scope605921 -Node: Pass By Value/Reference608915 -Node: Return Statement612414 -Node: Dynamic Typing615393 -Node: Indirect Calls616323 -Ref: Indirect Calls-Footnote-1626575 -Node: Functions Summary626703 -Node: Library Functions629408 -Ref: Library Functions-Footnote-1633015 -Ref: Library Functions-Footnote-2633158 -Node: Library Names633329 -Ref: Library Names-Footnote-1636789 -Ref: Library Names-Footnote-2637012 -Node: General Functions637098 -Node: Strtonum Function638201 -Node: Assert Function641223 -Node: Round Function644549 -Node: Cliff Random Function646090 -Node: Ordinal Functions647106 -Ref: Ordinal Functions-Footnote-1650169 -Ref: Ordinal Functions-Footnote-2650421 -Node: Join Function650631 -Ref: Join Function-Footnote-1652401 -Node: Getlocaltime Function652601 -Node: Readfile Function656343 -Node: Shell Quoting658315 -Node: Data File Management659716 -Node: Filetrans Function660348 -Node: Rewind Function664444 -Node: File Checking666354 -Ref: File Checking-Footnote-1667688 -Node: Empty Files667889 -Node: Ignoring Assigns669868 -Node: Getopt Function671418 -Ref: Getopt Function-Footnote-1682887 -Node: Passwd Functions683087 -Ref: Passwd Functions-Footnote-1691926 -Node: Group Functions692014 -Ref: Group Functions-Footnote-1699912 -Node: Walking Arrays700119 -Node: Library Functions Summary703127 -Node: Library Exercises704533 -Node: Sample Programs704998 -Node: Running Examples705768 -Node: Clones706496 -Node: Cut Program707720 -Node: Egrep Program717649 -Ref: Egrep Program-Footnote-1725161 -Node: Id Program725271 -Node: Split Program728951 -Ref: Split Program-Footnote-1732410 -Node: Tee Program732539 -Node: Uniq Program735329 -Node: Wc Program742755 -Ref: Wc Program-Footnote-1747010 -Node: Miscellaneous Programs747104 -Node: Dupword Program748317 -Node: Alarm Program750347 -Node: Translate Program755202 -Ref: Translate Program-Footnote-1759767 -Node: Labels Program760037 -Ref: Labels Program-Footnote-1763388 -Node: Word Sorting763472 -Node: History Sorting767544 -Node: Extract Program769379 -Node: Simple Sed776909 -Node: Igawk Program779983 -Ref: Igawk Program-Footnote-1794314 -Ref: Igawk Program-Footnote-2794516 -Ref: Igawk Program-Footnote-3794638 -Node: Anagram Program794753 -Node: Signature Program797815 -Node: Programs Summary799062 -Node: Programs Exercises800276 -Ref: Programs Exercises-Footnote-1804405 -Node: Advanced Features804496 -Node: Nondecimal Data806486 -Node: Array Sorting808077 -Node: Controlling Array Traversal808777 -Ref: Controlling Array Traversal-Footnote-1817144 -Node: Array Sorting Functions817262 -Ref: Array Sorting Functions-Footnote-1822353 -Node: Two-way I/O822549 -Ref: Two-way I/O-Footnote-1829101 -Ref: Two-way I/O-Footnote-2829288 -Node: TCP/IP Networking829370 -Node: Profiling832488 -Ref: Profiling-Footnote-1841160 -Node: Advanced Features Summary841483 -Node: Internationalization843327 -Node: I18N and L10N844807 -Node: Explaining gettext845494 -Ref: Explaining gettext-Footnote-1851386 -Ref: Explaining gettext-Footnote-2851571 -Node: Programmer i18n851736 -Ref: Programmer i18n-Footnote-1856685 -Node: Translator i18n856734 -Node: String Extraction857528 -Ref: String Extraction-Footnote-1858660 -Node: Printf Ordering858746 -Ref: Printf Ordering-Footnote-1861532 -Node: I18N Portability861596 -Ref: I18N Portability-Footnote-1864052 -Node: I18N Example864115 -Ref: I18N Example-Footnote-1866921 -Node: Gawk I18N866994 -Node: I18N Summary867639 -Node: Debugger868980 -Node: Debugging870003 -Node: Debugging Concepts870444 -Node: Debugging Terms872253 -Node: Awk Debugging874828 -Node: Sample Debugging Session875734 -Node: Debugger Invocation876268 -Node: Finding The Bug877654 -Node: List of Debugger Commands884132 -Node: Breakpoint Control885465 -Node: Debugger Execution Control889159 -Node: Viewing And Changing Data892521 -Node: Execution Stack895895 -Node: Debugger Info897532 -Node: Miscellaneous Debugger Commands901603 -Node: Readline Support906691 -Node: Limitations907587 -Node: Debugging Summary909696 -Node: Arbitrary Precision Arithmetic910975 -Node: Computer Arithmetic912460 -Ref: table-numeric-ranges916051 -Ref: Computer Arithmetic-Footnote-1916773 -Node: Math Definitions916830 -Ref: table-ieee-formats920146 -Ref: Math Definitions-Footnote-1920749 -Node: MPFR features920854 -Node: FP Math Caution922572 -Ref: FP Math Caution-Footnote-1923644 -Node: Inexactness of computations924013 -Node: Inexact representation924973 -Node: Comparing FP Values926333 -Node: Errors accumulate927415 -Node: Getting Accuracy928848 -Node: Try To Round931558 -Node: Setting precision932457 -Ref: table-predefined-precision-strings933154 -Node: Setting the rounding mode934984 -Ref: table-gawk-rounding-modes935358 -Ref: Setting the rounding mode-Footnote-1938766 -Node: Arbitrary Precision Integers938945 -Ref: Arbitrary Precision Integers-Footnote-1942120 -Node: Checking for MPFR942269 -Node: POSIX Floating Point Problems943566 -Ref: POSIX Floating Point Problems-Footnote-1947437 -Node: Floating point summary947475 -Node: Dynamic Extensions949665 -Node: Extension Intro951218 -Node: Plugin License952484 -Node: Extension Mechanism Outline953281 -Ref: figure-load-extension953720 -Ref: figure-register-new-function955285 -Ref: figure-call-new-function956377 -Node: Extension API Description958439 -Node: Extension API Functions Introduction960081 -Node: General Data Types965621 -Ref: General Data Types-Footnote-1973742 -Node: Memory Allocation Functions974041 -Ref: Memory Allocation Functions-Footnote-1978249 -Node: Constructor Functions978348 -Node: Registration Functions981934 -Node: Extension Functions982619 -Node: Exit Callback Functions987834 -Node: Extension Version String989084 -Node: Input Parsers989747 -Node: Output Wrappers1002468 -Node: Two-way processors1006980 -Node: Printing Messages1009245 -Ref: Printing Messages-Footnote-11010416 -Node: Updating ERRNO1010569 -Node: Requesting Values1011308 -Ref: table-value-types-returned1012045 -Node: Accessing Parameters1012981 -Node: Symbol Table Access1014216 -Node: Symbol table by name1014728 -Node: Symbol table by cookie1016517 -Ref: Symbol table by cookie-Footnote-11020702 -Node: Cached values1020766 -Ref: Cached values-Footnote-11024302 -Node: Array Manipulation1024455 -Ref: Array Manipulation-Footnote-11025546 -Node: Array Data Types1025583 -Ref: Array Data Types-Footnote-11028241 -Node: Array Functions1028333 -Node: Flattening Arrays1032831 -Node: Creating Arrays1039807 -Node: Redirection API1044576 -Node: Extension API Variables1047409 -Node: Extension Versioning1048120 -Ref: gawk-api-version1048549 -Node: Extension GMP/MPFR Versioning1050277 -Node: Extension API Informational Variables1051905 -Node: Extension API Boilerplate1052978 -Node: Changes from API V11056952 -Node: Finding Extensions1057612 -Node: Extension Example1058171 -Node: Internal File Description1058969 -Node: Internal File Ops1063049 -Ref: Internal File Ops-Footnote-11074449 -Node: Using Internal File Ops1074589 -Ref: Using Internal File Ops-Footnote-11076972 -Node: Extension Samples1077246 -Node: Extension Sample File Functions1078775 -Node: Extension Sample Fnmatch1086424 -Node: Extension Sample Fork1087911 -Node: Extension Sample Inplace1089129 -Node: Extension Sample Ord1092346 -Node: Extension Sample Readdir1093182 -Ref: table-readdir-file-types1094071 -Node: Extension Sample Revout1094876 -Node: Extension Sample Rev2way1095465 -Node: Extension Sample Read write array1096205 -Node: Extension Sample Readfile1098147 -Node: Extension Sample Time1099242 -Node: Extension Sample API Tests1100590 -Node: gawkextlib1101082 -Node: Extension summary1103538 -Node: Extension Exercises1107240 -Node: Language History1108738 -Node: V7/SVR3.11110394 -Node: SVR41112546 -Node: POSIX1113980 -Node: BTL1115360 -Node: POSIX/GNU1116089 -Node: Feature History1121867 -Node: Common Extensions1137726 -Node: Ranges and Locales1139009 -Ref: Ranges and Locales-Footnote-11143625 -Ref: Ranges and Locales-Footnote-21143652 -Ref: Ranges and Locales-Footnote-31143887 -Node: Contributors1144108 -Node: History summary1150053 -Node: Installation1151433 -Node: Gawk Distribution1152377 -Node: Getting1152861 -Node: Extracting1153824 -Node: Distribution contents1155462 -Node: Unix Installation1161942 -Node: Quick Installation1162624 -Node: Shell Startup Files1165038 -Node: Additional Configuration Options1166127 -Node: Configuration Philosophy1168116 -Node: Non-Unix Installation1170485 -Node: PC Installation1170945 -Node: PC Binary Installation1171783 -Node: PC Compiling1172218 -Node: PC Using1173335 -Node: Cygwin1176380 -Node: MSYS1177150 -Node: VMS Installation1177651 -Node: VMS Compilation1178442 -Ref: VMS Compilation-Footnote-11179671 -Node: VMS Dynamic Extensions1179729 -Node: VMS Installation Details1181414 -Node: VMS Running1183667 -Node: VMS GNV1187946 -Node: VMS Old Gawk1188681 -Node: Bugs1189152 -Node: Bug address1189815 -Node: Usenet1192607 -Node: Maintainers1193384 -Node: Other Versions1194645 -Node: Installation summary1201440 -Node: Notes1202642 -Node: Compatibility Mode1203507 -Node: Additions1204289 -Node: Accessing The Source1205214 -Node: Adding Code1206651 -Node: New Ports1212870 -Node: Derived Files1217358 -Ref: Derived Files-Footnote-11223004 -Ref: Derived Files-Footnote-21223039 -Ref: Derived Files-Footnote-31223637 -Node: Future Extensions1223751 -Node: Implementation Limitations1224409 -Node: Extension Design1225592 -Node: Old Extension Problems1226746 -Ref: Old Extension Problems-Footnote-11228264 -Node: Extension New Mechanism Goals1228321 -Ref: Extension New Mechanism Goals-Footnote-11231685 -Node: Extension Other Design Decisions1231874 -Node: Extension Future Growth1233987 -Node: Old Extension Mechanism1234823 -Node: Notes summary1236586 -Node: Basic Concepts1237768 -Node: Basic High Level1238449 -Ref: figure-general-flow1238731 -Ref: figure-process-flow1239416 -Ref: Basic High Level-Footnote-11242717 -Node: Basic Data Typing1242902 -Node: Glossary1246230 -Node: Copying1278180 -Node: GNU Free Documentation License1315719 -Node: Index1340837 +Node: Loading Shared Libraries152655 +Node: Obsolete154083 +Node: Undocumented154775 +Node: Invoking Summary155072 +Node: Regexp156732 +Node: Regexp Usage158186 +Node: Escape Sequences160223 +Node: Regexp Operators166455 +Ref: Regexp Operators-Footnote-1173871 +Ref: Regexp Operators-Footnote-2174018 +Node: Bracket Expressions174116 +Ref: table-char-classes176592 +Node: Leftmost Longest179729 +Node: Computed Regexps181032 +Node: GNU Regexp Operators184459 +Node: Case-sensitivity188138 +Ref: Case-sensitivity-Footnote-1191025 +Ref: Case-sensitivity-Footnote-2191260 +Node: Regexp Summary191368 +Node: Reading Files192834 +Node: Records195103 +Node: awk split records195836 +Node: gawk split records200767 +Ref: gawk split records-Footnote-1205307 +Node: Fields205344 +Node: Nonconstant Fields208085 +Ref: Nonconstant Fields-Footnote-1210321 +Node: Changing Fields210525 +Node: Field Separators216453 +Node: Default Field Splitting219151 +Node: Regexp Field Splitting220269 +Node: Single Character Fields223622 +Node: Command Line Field Separator224682 +Node: Full Line Fields227900 +Ref: Full Line Fields-Footnote-1229422 +Ref: Full Line Fields-Footnote-2229468 +Node: Field Splitting Summary229569 +Node: Constant Size231643 +Node: Fixed width data232375 +Node: Skipping intervening235842 +Node: Allowing trailing data236640 +Node: Fields with fixed data237677 +Node: Splitting By Content239195 +Ref: Splitting By Content-Footnote-1242845 +Node: Testing field creation243008 +Node: Multiple Line244633 +Ref: Multiple Line-Footnote-1250517 +Node: Getline250696 +Node: Plain Getline253165 +Node: Getline/Variable255806 +Node: Getline/File256957 +Node: Getline/Variable/File258345 +Ref: Getline/Variable/File-Footnote-1259950 +Node: Getline/Pipe260038 +Node: Getline/Variable/Pipe262745 +Node: Getline/Coprocess263880 +Node: Getline/Variable/Coprocess265147 +Node: Getline Notes265889 +Node: Getline Summary268686 +Ref: table-getline-variants269110 +Node: Read Timeout269858 +Ref: Read Timeout-Footnote-1273764 +Node: Retrying Input273822 +Node: Command-line directories275021 +Node: Input Summary275927 +Node: Input Exercises279099 +Node: Printing279827 +Node: Print281661 +Node: Print Examples283118 +Node: Output Separators285898 +Node: OFMT287915 +Node: Printf289271 +Node: Basic Printf290056 +Node: Control Letters291630 +Node: Format Modifiers295618 +Node: Printf Examples301633 +Node: Redirection304119 +Node: Special FD310960 +Ref: Special FD-Footnote-1314128 +Node: Special Files314202 +Node: Other Inherited Files314819 +Node: Special Network315820 +Node: Special Caveats316680 +Node: Close Files And Pipes317629 +Ref: table-close-pipe-return-values324536 +Ref: Close Files And Pipes-Footnote-1325319 +Ref: Close Files And Pipes-Footnote-2325467 +Node: Nonfatal325619 +Node: Output Summary327944 +Node: Output Exercises329166 +Node: Expressions329845 +Node: Values331033 +Node: Constants331711 +Node: Scalar Constants332402 +Ref: Scalar Constants-Footnote-1333266 +Node: Nondecimal-numbers333516 +Node: Regexp Constants336517 +Node: Using Constant Regexps337043 +Node: Standard Regexp Constants337665 +Node: Strong Regexp Constants340853 +Node: Variables343811 +Node: Using Variables344468 +Node: Assignment Options346378 +Node: Conversion348251 +Node: Strings And Numbers348775 +Ref: Strings And Numbers-Footnote-1351838 +Node: Locale influences conversions351947 +Ref: table-locale-affects354705 +Node: All Operators355323 +Node: Arithmetic Ops355952 +Node: Concatenation358458 +Ref: Concatenation-Footnote-1361305 +Node: Assignment Ops361412 +Ref: table-assign-ops366403 +Node: Increment Ops367716 +Node: Truth Values and Conditions371176 +Node: Truth Values372250 +Node: Typing and Comparison373298 +Node: Variable Typing374118 +Ref: Variable Typing-Footnote-1380581 +Ref: Variable Typing-Footnote-2380653 +Node: Comparison Operators380730 +Ref: table-relational-ops381149 +Node: POSIX String Comparison384644 +Ref: POSIX String Comparison-Footnote-1386339 +Ref: POSIX String Comparison-Footnote-2386478 +Node: Boolean Ops386562 +Ref: Boolean Ops-Footnote-1391044 +Node: Conditional Exp391136 +Node: Function Calls392872 +Node: Precedence396749 +Node: Locales400408 +Node: Expressions Summary402040 +Node: Patterns and Actions404613 +Node: Pattern Overview405733 +Node: Regexp Patterns407410 +Node: Expression Patterns407952 +Node: Ranges411733 +Node: BEGIN/END414841 +Node: Using BEGIN/END415602 +Ref: Using BEGIN/END-Footnote-1418338 +Node: I/O And BEGIN/END418444 +Node: BEGINFILE/ENDFILE420758 +Node: Empty423671 +Node: Using Shell Variables423988 +Node: Action Overview426262 +Node: Statements428587 +Node: If Statement430435 +Node: While Statement431930 +Node: Do Statement433958 +Node: For Statement435106 +Node: Switch Statement438264 +Node: Break Statement440650 +Node: Continue Statement442742 +Node: Next Statement444569 +Node: Nextfile Statement446952 +Node: Exit Statement449604 +Node: Built-in Variables452007 +Node: User-modified453140 +Node: Auto-set460907 +Ref: Auto-set-Footnote-1477240 +Ref: Auto-set-Footnote-2477446 +Node: ARGC and ARGV477502 +Node: Pattern Action Summary481715 +Node: Arrays484145 +Node: Array Basics485474 +Node: Array Intro486318 +Ref: figure-array-elements488293 +Ref: Array Intro-Footnote-1490997 +Node: Reference to Elements491125 +Node: Assigning Elements493589 +Node: Array Example494080 +Node: Scanning an Array495839 +Node: Controlling Scanning498861 +Ref: Controlling Scanning-Footnote-1504260 +Node: Numeric Array Subscripts504576 +Node: Uninitialized Subscripts506760 +Node: Delete508379 +Ref: Delete-Footnote-1511131 +Node: Multidimensional511188 +Node: Multiscanning514283 +Node: Arrays of Arrays515874 +Node: Arrays Summary520641 +Node: Functions522734 +Node: Built-in523772 +Node: Calling Built-in524853 +Node: Numeric Functions526849 +Ref: Numeric Functions-Footnote-1530877 +Ref: Numeric Functions-Footnote-2531234 +Ref: Numeric Functions-Footnote-3531282 +Node: String Functions531554 +Ref: String Functions-Footnote-1555212 +Ref: String Functions-Footnote-2555340 +Ref: String Functions-Footnote-3555588 +Node: Gory Details555675 +Ref: table-sub-escapes557466 +Ref: table-sub-proposed558985 +Ref: table-posix-sub560348 +Ref: table-gensub-escapes561889 +Ref: Gory Details-Footnote-1562712 +Node: I/O Functions562866 +Ref: table-system-return-values569448 +Ref: I/O Functions-Footnote-1571428 +Ref: I/O Functions-Footnote-2571576 +Node: Time Functions571696 +Ref: Time Functions-Footnote-1582367 +Ref: Time Functions-Footnote-2582435 +Ref: Time Functions-Footnote-3582593 +Ref: Time Functions-Footnote-4582704 +Ref: Time Functions-Footnote-5582816 +Ref: Time Functions-Footnote-6583043 +Node: Bitwise Functions583309 +Ref: table-bitwise-ops583903 +Ref: Bitwise Functions-Footnote-1589936 +Ref: Bitwise Functions-Footnote-2590109 +Node: Type Functions590300 +Node: I18N Functions593217 +Node: User-defined594868 +Node: Definition Syntax595673 +Ref: Definition Syntax-Footnote-1601360 +Node: Function Example601431 +Ref: Function Example-Footnote-1604353 +Node: Function Caveats604375 +Node: Calling A Function604893 +Node: Variable Scope605851 +Node: Pass By Value/Reference608845 +Node: Return Statement612344 +Node: Dynamic Typing615323 +Node: Indirect Calls616253 +Ref: Indirect Calls-Footnote-1626505 +Node: Functions Summary626633 +Node: Library Functions629338 +Ref: Library Functions-Footnote-1632945 +Ref: Library Functions-Footnote-2633088 +Node: Library Names633259 +Ref: Library Names-Footnote-1636719 +Ref: Library Names-Footnote-2636942 +Node: General Functions637028 +Node: Strtonum Function638131 +Node: Assert Function641153 +Node: Round Function644479 +Node: Cliff Random Function646020 +Node: Ordinal Functions647036 +Ref: Ordinal Functions-Footnote-1650099 +Ref: Ordinal Functions-Footnote-2650351 +Node: Join Function650561 +Ref: Join Function-Footnote-1652331 +Node: Getlocaltime Function652531 +Node: Readfile Function656273 +Node: Shell Quoting658245 +Node: Data File Management659646 +Node: Filetrans Function660278 +Node: Rewind Function664374 +Node: File Checking666284 +Ref: File Checking-Footnote-1667618 +Node: Empty Files667819 +Node: Ignoring Assigns669798 +Node: Getopt Function671348 +Ref: Getopt Function-Footnote-1682817 +Node: Passwd Functions683017 +Ref: Passwd Functions-Footnote-1691856 +Node: Group Functions691944 +Ref: Group Functions-Footnote-1699842 +Node: Walking Arrays700049 +Node: Library Functions Summary703057 +Node: Library Exercises704463 +Node: Sample Programs704928 +Node: Running Examples705698 +Node: Clones706426 +Node: Cut Program707650 +Node: Egrep Program717579 +Ref: Egrep Program-Footnote-1725091 +Node: Id Program725201 +Node: Split Program728881 +Ref: Split Program-Footnote-1732340 +Node: Tee Program732469 +Node: Uniq Program735259 +Node: Wc Program742685 +Ref: Wc Program-Footnote-1746940 +Node: Miscellaneous Programs747034 +Node: Dupword Program748247 +Node: Alarm Program750277 +Node: Translate Program755132 +Ref: Translate Program-Footnote-1759697 +Node: Labels Program759967 +Ref: Labels Program-Footnote-1763318 +Node: Word Sorting763402 +Node: History Sorting767474 +Node: Extract Program769309 +Node: Simple Sed776839 +Node: Igawk Program779913 +Ref: Igawk Program-Footnote-1794244 +Ref: Igawk Program-Footnote-2794446 +Ref: Igawk Program-Footnote-3794568 +Node: Anagram Program794683 +Node: Signature Program797745 +Node: Programs Summary798992 +Node: Programs Exercises800206 +Ref: Programs Exercises-Footnote-1804335 +Node: Advanced Features804426 +Node: Nondecimal Data806416 +Node: Array Sorting808007 +Node: Controlling Array Traversal808707 +Ref: Controlling Array Traversal-Footnote-1817074 +Node: Array Sorting Functions817192 +Ref: Array Sorting Functions-Footnote-1822283 +Node: Two-way I/O822479 +Ref: Two-way I/O-Footnote-1829031 +Ref: Two-way I/O-Footnote-2829218 +Node: TCP/IP Networking829300 +Node: Profiling832418 +Ref: Profiling-Footnote-1841090 +Node: Advanced Features Summary841413 +Node: Internationalization843257 +Node: I18N and L10N844737 +Node: Explaining gettext845424 +Ref: Explaining gettext-Footnote-1851316 +Ref: Explaining gettext-Footnote-2851501 +Node: Programmer i18n851666 +Ref: Programmer i18n-Footnote-1856615 +Node: Translator i18n856664 +Node: String Extraction857458 +Ref: String Extraction-Footnote-1858590 +Node: Printf Ordering858676 +Ref: Printf Ordering-Footnote-1861462 +Node: I18N Portability861526 +Ref: I18N Portability-Footnote-1863982 +Node: I18N Example864045 +Ref: I18N Example-Footnote-1866851 +Node: Gawk I18N866924 +Node: I18N Summary867569 +Node: Debugger868910 +Node: Debugging869933 +Node: Debugging Concepts870374 +Node: Debugging Terms872183 +Node: Awk Debugging874758 +Node: Sample Debugging Session875664 +Node: Debugger Invocation876198 +Node: Finding The Bug877584 +Node: List of Debugger Commands884062 +Node: Breakpoint Control885395 +Node: Debugger Execution Control889089 +Node: Viewing And Changing Data892451 +Node: Execution Stack895825 +Node: Debugger Info897462 +Node: Miscellaneous Debugger Commands901533 +Node: Readline Support906621 +Node: Limitations907517 +Node: Debugging Summary909626 +Node: Arbitrary Precision Arithmetic910905 +Node: Computer Arithmetic912390 +Ref: table-numeric-ranges915981 +Ref: Computer Arithmetic-Footnote-1916703 +Node: Math Definitions916760 +Ref: table-ieee-formats920076 +Ref: Math Definitions-Footnote-1920679 +Node: MPFR features920784 +Node: FP Math Caution922502 +Ref: FP Math Caution-Footnote-1923574 +Node: Inexactness of computations923943 +Node: Inexact representation924903 +Node: Comparing FP Values926263 +Node: Errors accumulate927345 +Node: Getting Accuracy928778 +Node: Try To Round931488 +Node: Setting precision932387 +Ref: table-predefined-precision-strings933084 +Node: Setting the rounding mode934914 +Ref: table-gawk-rounding-modes935288 +Ref: Setting the rounding mode-Footnote-1938696 +Node: Arbitrary Precision Integers938875 +Ref: Arbitrary Precision Integers-Footnote-1942050 +Node: Checking for MPFR942199 +Node: POSIX Floating Point Problems943496 +Ref: POSIX Floating Point Problems-Footnote-1947367 +Node: Floating point summary947405 +Node: Dynamic Extensions949595 +Node: Extension Intro951148 +Node: Plugin License952414 +Node: Extension Mechanism Outline953211 +Ref: figure-load-extension953650 +Ref: figure-register-new-function955215 +Ref: figure-call-new-function956307 +Node: Extension API Description958369 +Node: Extension API Functions Introduction960011 +Node: General Data Types965551 +Ref: General Data Types-Footnote-1973672 +Node: Memory Allocation Functions973971 +Ref: Memory Allocation Functions-Footnote-1978179 +Node: Constructor Functions978278 +Node: Registration Functions981864 +Node: Extension Functions982549 +Node: Exit Callback Functions987764 +Node: Extension Version String989014 +Node: Input Parsers989677 +Node: Output Wrappers1002398 +Node: Two-way processors1006910 +Node: Printing Messages1009175 +Ref: Printing Messages-Footnote-11010346 +Node: Updating ERRNO1010499 +Node: Requesting Values1011238 +Ref: table-value-types-returned1011975 +Node: Accessing Parameters1012911 +Node: Symbol Table Access1014146 +Node: Symbol table by name1014658 +Node: Symbol table by cookie1016447 +Ref: Symbol table by cookie-Footnote-11020632 +Node: Cached values1020696 +Ref: Cached values-Footnote-11024232 +Node: Array Manipulation1024385 +Ref: Array Manipulation-Footnote-11025476 +Node: Array Data Types1025513 +Ref: Array Data Types-Footnote-11028171 +Node: Array Functions1028263 +Node: Flattening Arrays1032761 +Node: Creating Arrays1039737 +Node: Redirection API1044506 +Node: Extension API Variables1047339 +Node: Extension Versioning1048050 +Ref: gawk-api-version1048479 +Node: Extension GMP/MPFR Versioning1050207 +Node: Extension API Informational Variables1051835 +Node: Extension API Boilerplate1052908 +Node: Changes from API V11056882 +Node: Finding Extensions1057542 +Node: Extension Example1058101 +Node: Internal File Description1058899 +Node: Internal File Ops1062979 +Ref: Internal File Ops-Footnote-11074379 +Node: Using Internal File Ops1074519 +Ref: Using Internal File Ops-Footnote-11076902 +Node: Extension Samples1077176 +Node: Extension Sample File Functions1078705 +Node: Extension Sample Fnmatch1086354 +Node: Extension Sample Fork1087841 +Node: Extension Sample Inplace1089059 +Node: Extension Sample Ord1092276 +Node: Extension Sample Readdir1093112 +Ref: table-readdir-file-types1094001 +Node: Extension Sample Revout1094806 +Node: Extension Sample Rev2way1095395 +Node: Extension Sample Read write array1096135 +Node: Extension Sample Readfile1098077 +Node: Extension Sample Time1099172 +Node: Extension Sample API Tests1100520 +Node: gawkextlib1101012 +Node: Extension summary1103468 +Node: Extension Exercises1107170 +Node: Language History1108668 +Node: V7/SVR3.11110324 +Node: SVR41112476 +Node: POSIX1113910 +Node: BTL1115290 +Node: POSIX/GNU1116019 +Node: Feature History1121797 +Node: Common Extensions1137656 +Node: Ranges and Locales1138939 +Ref: Ranges and Locales-Footnote-11143555 +Ref: Ranges and Locales-Footnote-21143582 +Ref: Ranges and Locales-Footnote-31143817 +Node: Contributors1144038 +Node: History summary1149983 +Node: Installation1151363 +Node: Gawk Distribution1152307 +Node: Getting1152791 +Node: Extracting1153754 +Node: Distribution contents1155392 +Node: Unix Installation1161872 +Node: Quick Installation1162554 +Node: Shell Startup Files1164968 +Node: Additional Configuration Options1166057 +Node: Configuration Philosophy1168046 +Node: Non-Unix Installation1170415 +Node: PC Installation1170875 +Node: PC Binary Installation1171713 +Node: PC Compiling1172148 +Node: PC Using1173265 +Node: Cygwin1176310 +Node: MSYS1177080 +Node: VMS Installation1177581 +Node: VMS Compilation1178372 +Ref: VMS Compilation-Footnote-11179601 +Node: VMS Dynamic Extensions1179659 +Node: VMS Installation Details1181344 +Node: VMS Running1183597 +Node: VMS GNV1187876 +Node: VMS Old Gawk1188611 +Node: Bugs1189082 +Node: Bug address1189745 +Node: Usenet1192537 +Node: Maintainers1193314 +Node: Other Versions1194575 +Node: Installation summary1201370 +Node: Notes1202572 +Node: Compatibility Mode1203437 +Node: Additions1204219 +Node: Accessing The Source1205144 +Node: Adding Code1206581 +Node: New Ports1212800 +Node: Derived Files1217288 +Ref: Derived Files-Footnote-11222934 +Ref: Derived Files-Footnote-21222969 +Ref: Derived Files-Footnote-31223567 +Node: Future Extensions1223681 +Node: Implementation Limitations1224339 +Node: Extension Design1225522 +Node: Old Extension Problems1226676 +Ref: Old Extension Problems-Footnote-11228194 +Node: Extension New Mechanism Goals1228251 +Ref: Extension New Mechanism Goals-Footnote-11231615 +Node: Extension Other Design Decisions1231804 +Node: Extension Future Growth1233917 +Node: Old Extension Mechanism1234753 +Node: Notes summary1236516 +Node: Basic Concepts1237698 +Node: Basic High Level1238379 +Ref: figure-general-flow1238661 +Ref: figure-process-flow1239346 +Ref: Basic High Level-Footnote-11242647 +Node: Basic Data Typing1242832 +Node: Glossary1246160 +Node: Copying1278110 +Node: GNU Free Documentation License1315649 +Node: Index1340767 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 50d58099..e689cb66 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -4839,9 +4839,8 @@ thus reducing the need for writing complex and tedious command lines. In particular, @code{@@include} is very useful for writing CGI scripts to be run from web pages. -As mentioned in @ref{AWKPATH Variable}, the current directory is always -searched first for source files, before searching in @env{AWKPATH}; -this also applies to files named with @code{@@include}. +The rules for finding a source file described in @ref{AWKPATH Variable} also +apply to files loaded with @code{@@include}. @node Loading Shared Libraries @section Loading Dynamic Extensions into Your Program diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 986e8957..2d7bcd69 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -4750,9 +4750,8 @@ thus reducing the need for writing complex and tedious command lines. In particular, @code{@@include} is very useful for writing CGI scripts to be run from web pages. -As mentioned in @ref{AWKPATH Variable}, the current directory is always -searched first for source files, before searching in @env{AWKPATH}; -this also applies to files named with @code{@@include}. +The rules for finding a source file described in @ref{AWKPATH Variable} also +apply to files loaded with @code{@@include}. @node Loading Shared Libraries @section Loading Dynamic Extensions into Your Program diff --git a/doc/it/ChangeLog b/doc/it/ChangeLog index 91e21101..3c5fc79d 100644 --- a/doc/it/ChangeLog +++ b/doc/it/ChangeLog @@ -1,3 +1,7 @@ +2017-10-08 Antonio Giovanni Colombo <azc100@gmail.com> + + * gawktexi.in: Italian translation updated. + 2017-10-01 Antonio Giovanni Colombo <azc100@gmail.com> * gawktexi.in: Italian translation updated. diff --git a/doc/it/gawktexi.in b/doc/it/gawktexi.in index d238dba7..9f1edf38 100755 --- a/doc/it/gawktexi.in +++ b/doc/it/gawktexi.in @@ -47,10 +47,10 @@ @end ifdocbook @iftex -@set TIMES @times +@set VOLTE @times @end iftex @ifnottex -@set TIMES * +@set VOLTE * @end ifnottex @@ -61,8 +61,7 @@ @c applies to and all the info about who's publishing this edition @c These apply across the board. -@c Aggiornata alla versione del 3 marzo 2017 -@set UPDATE-MONTH Settembre 2017 +@set UPDATE-MONTH Ottobre 2017 @set VERSION 4.2 @set PATCHLEVEL 0 @@ -674,7 +673,7 @@ Copyright dell'edizione italiana @copyright{} 2016 -- Free Software Foundation, * Sommario sulla separazione campi:: Alcuni punti finali e una tavola di sommario. * Dimensione costante:: Leggere campi di larghezza costante. -* Dati di larghezza fissa:: Elaborare dati di lunghezza fissa. +* Dati di lunghezza fissa:: Elaborare dati di lunghezza fissa. * Saltare campi intermedi:: Saltare campi intermedi. * Consentire dati a fine record:: Trattare dati opzionali a fine record. * Campi con dati a larghezza fissa:: Valore di campi con dati a larghezza @@ -1497,7 +1496,7 @@ invocato con le opzioni o con le variabili d'ambiente appropriate, (@pxref{Opzioni}), @`e pienamente compatibile con le specifiche POSIX@footnote{Lo standard POSIX 2008 @`e accessibile in rete all'indirizzo -@w{@url{http://www.opengroup.org/onlinepubs/9699919799/}.}} +@w{@url{https://pubs.opengroup.org/onlinepubs/9699919799/}.}} del linguaggio @command{awk} e con la versione Unix di @command{awk} mantenuta da Brian Kernighan. @@ -2292,7 +2291,7 @@ interessato mi contatti. @ignore Altri collegamenti: -http://www.reddit.com/r/linux/comments/dtect/composing_music_in_awk/ +https://www.reddit.com/r/linux/comments/dtect/composing_music_in_awk/ @end ignore @end ifclear @@ -3268,8 +3267,8 @@ per poi scriverlo in output con l'istruzione @code{print}. In ambiente MS-Windows proteggere i doppi apici richiede questo espediente perch@'e occorre usare delle barre inverse per proteggere i doppi apici, ma le barre inverse non sono protette nella solita maniera; -in effetti le barre inverse vanno raddoppiate (oppure no), a seconda che -siano seguite (oppure no) da un doppio apice. +in effetti le barre inverse vanno raddoppiate o no a seconda che +siano o non siano seguite da un doppio apice. La regola in ambiente MS-Windows per racchiudere tra doppi apici una stringa @`e la seguente: @@ -3278,7 +3277,7 @@ stringa @`e la seguente: Per ogni doppio apice presente nella stringa originale, sia @var{N} il numero di barre inverse presenti nella stringa prima di esso (@var{N} potrebbe anche valere zero). Si rimpiazzino queste @var{N} barre inverse -con @math{2@value{VOLTE}@var{N}+1} barre inverse. +con @math{2@value{VOLTE}@var{N}+1} barre inverse @item Sia poi @var{N} il numero di barre inverse alla fine della stringa originale, @@ -3290,7 +3289,7 @@ La stringa cos@`{@dotless{i}} prodotta va racchiusa fra doppi apici. @end enumerate Quindi, per racchiudere fra doppi apici lo script di -una linea @samp{@{ print "\"" $0 "\"" @}} del precedente esempio, si +una riga @samp{@{ print "\"" $0 "\"" @}} del precedente esempio, si dovrebbe fare cos@`{@dotless{i}}: @example @@ -3298,8 +3297,8 @@ gawk "@{ print \"\\\"\" $0 \"\\\"\" @}" @var{file} @end example @noindent -Comunque, usare la notazione @samp{\042} invece che @samp{\\\"} rimane -possibile, e di pi@`u facile lettura, perch@'e le barre inverse che non sono +Comunque, usare la notazione @samp{\042} invece che @samp{\\\"} rimane sempre +possibile, ed @'e di pi@`u facile lettura, perch@'e le barre inverse che non sono seguite da un doppio apice non hanno bisogno di essere duplicate. @node File dati di esempio @@ -6704,9 +6703,9 @@ getline (@pxref{Getline}). cambiarli. * Dimensione costante:: Leggere campi di larghezza costante. * Separazione in base al contenuto:: Definire campi dal loro contenuto. -* Righe multiple:: Leggere record che sono su pi@`u righe. * Controllare la creazione di campi:: Controllare come @command{gawk} sta dividendo i record. +* Righe multiple:: Leggere record che sono su pi@`u righe. * Getline:: Leggere file sotto il controllo del programma, usando la funzione @code{getline}. @@ -7306,7 +7305,7 @@ $ @kbd{echo a b c d | awk '@{ OFS = ":"; $2 = ""; $6 = "nuovo"} @noindent Il campo intermedio, @code{$5}, @`e creato con un valore vuoto -(indicato dalla seconda coppia di due punti @code{:} adiacenti), +(indicato dalla seconda coppia di due punti (@code{:}) adiacenti), e @code{NF} @`e aggiornato col valore sei. @cindex angolo buio, variabile @code{NF}, decremento @@ -7899,7 +7898,7 @@ nei seguenti @value{SUBSECTIONS}. @menu -* Dati di larghezza fissa:: Elaborare dati di lunghezza fissa. +* Dati di lunghezza fissa:: Elaborare dati di lunghezza fissa. * Saltare campi intermedi:: Saltare campi intermedi. * Consentire dati a fine record:: Trattare dati opzionali a fine record. * Campi con dati a larghezza fissa:: Valore di campi con dati a larghezza @@ -8012,8 +8011,8 @@ schede @`e un'altra storia!) @subsection Saltare campi intermedi A partire dalla @value{PVERSION} 4.2, ogni specifica di una larghezza di campo -pu@`o essere facoltativamente preceduta da un valore, delimitato dai due punti -@code{:}, che indica il numero di caratteri da saltare prima dell'inizio del campo +pu@`o essere facoltativamente preceduta da un valore, delimitato da due punti +(@code{:}), che indica il numero di caratteri da saltare prima dell'inizio del campo successivo. Quindi, il programma precedente potrebbe essere riscritto per specificare @code{FIELDWIDTHS} in questo modo: @@ -8040,10 +8039,10 @@ dave ttyq4 1296000 A volte dati di larghezza fissa possono essere seguiti da ulteriori dati la cui lunghezza non @`e nota @dfn{a priori}. Tali dati possono essere -presenti o meno, ma, nel caso siano presenti, dovrebbe essere possibile +o non essere presenti, ma nel caso che lo siano dovrebbe essere possibile elaborarli all'interno di un programma @command{awk}. -A partire dalla @value{PVERSION} 4.2, per consentire di poter designare +A partire dalla @value{PVERSION} 4.2, per consentire di designare ``tutto il resto del record dopo i campi a lunghezza fissa'' @command{gawk} prevede la possibilit@`a di aggiungere un carattere @samp{*} in fondo alla descrizione contenuta in @code{FIELDWIDTHS}. @@ -8272,11 +8271,13 @@ FPAT = "([^,]*)|(\"[^\"]+\")" Infine, la funzione @code{patsplit()} rende la stessa funzionalit@`a disponibile per suddividere normali stringhe (@pxref{Funzioni per stringhe}). +@ignore Per ricapitolare, @command{gawk} fornisce tre metodi indipendenti per suddividere in campi i record in input. Il meccanismo usato @`e determinato da quella tra le tre variabili---@code{FS}, @code{FIELDWIDTHS}, o @code{FPAT}---a cui sia stato assegnato un valore pi@`u recentemente. +@end ignore @node Controllare la creazione di campi @section Controllare come @command{gawk} sta dividendo i record @@ -8284,7 +8285,7 @@ sia stato assegnato un valore pi@`u recentemente. @cindex @command{gawk}, separazione in campi e Come visto sopra, @command{gawk} fornisce tre metodi indipendenti per dividere i record in input in campi. Il meccanismo utilizzato dipende da -quale delle tre variabili---@code{FS}, @code{FIELDWIDTHS}, o +quale delle tre variabili---@code{FS}, @code{FIELDWIDTHS} o @code{FPAT}---@`e stato definito per ultimo. Inoltre, un analizzatore di input che utilizzi l'API (Application Programming Interface) pu@`o scegliere di modificare il meccanismo di @@ -8300,7 +8301,7 @@ valore corrente di @code{FS}. Per determinare quale sia il tipo di divisione dei campi attiva al momento, si usi @code{PROCINFO["FS"]} (@pxref{Variabili auto-assegnate}). Il valore @`e @code{"FS"} se si usa la maniera normale di divisione dei campi, -@code{"FIELDWIDTHS"} se si usa la divisione in campi di lunghezza fissa +@code{"FIELDWIDTHS"} se si usa la divisione in campi di lunghezza fissa, oppure @code{"FPAT"} se si una la divisione in campi in base al contenuto: @example @@ -15543,7 +15544,7 @@ Una lista di posizioni di colonna, separate da spazi, per dire a @command{gawk} come dividere campi in input posti su colonne fisse. A partire dalla @value{PVERSION} 4.2, ogni lunghezza di campo pu@`o essere -facoltativamente preceduta da un valore, separato da due punti @code{:} +facoltativamente preceduta da un valore, separato da due punti (@code{:}) che specifica il numero di caratteri da ignorare prima dell'inizio del campo. Assegnando un valore a @code{FIELDWIDTHS}, le variabili @code{FS} e @code{FPAT} @@ -16014,7 +16015,7 @@ BEGIN @{ @}' @end example -Si prega di notare che questo vettore @`e diverso dal vettore standard +Si tenga presente che questo vettore @`e diverso dal vettore standard @code{ARGV} il quale non include quegli argomenti della riga di comando che sono gi@`a stati elaborati da @command{gawk} (@pxref{ARGC e ARGV}). @@ -16180,6 +16181,20 @@ invece di impostare una @dfn{pipe} bidirezionale. Imposta un tempo limite per leggere dalla ridirezione di input @var{input_name}. @xref{Timeout in lettura} per ulteriori informazioni. +@item PROCINFO["@var{input_name}", "RETRY"] +Se durante la lettura del file @var{input_name}si verifica un errore di I/O +per il quale si pu@`o ritentare una lettura, e questo elemento di vettore +esiste, @code{getline} d@`a come codice di ritorno @minus{}2 invece di +seguire il comportamento di default, che consiste nel restituire @minus{}1 +e configurare @var{input_name} in modo che non fornisca pi@`u alcun dato. +Un errore di I/O per cui si pu@`o ritentare una lettura in cui @code{errno} +ha il valore @code{EAGAIN}, @code{EWOULDBLOCK}, @code{EINTR}, +o @code{ETIMEDOUT}. Ci@`o pu@`o essere utile in associazione con l'elemento +di vettore @code{PROCINFO["@var{input_name}", "READ_TIMEOUT"]} +o in situazioni in cui un descrittore di file @`e stato configurato +per comportarsi in modo da non bloccare l'elaborazione. +@xref{Proseguire dopo errore in input} per ulteriori informazioni. + @item PROCINFO["sorted_in"] Se questo elemento esiste in @code{PROCINFO}, il suo valore controlla l'ordine in cui gli indici dei vettori saranno elaborati nei cicli @@ -19867,7 +19882,8 @@ con l'anno 0 che viene prima dell'anno 1 e l'anno @minus{}1 che viene prima dell'anno 0. Se il flag @var{utc-flag} @`e specificato ed @`e diverso da zero e dalla stringa nulla, si suppone che l'ora sia quella del fuso orario UTC; altrimenti l'ora @`e considerata essere quella del fuso orario locale. Se -l'indicatore dell'ora legale @`e positivo, si presuppone che l'ora sia quella +l'indicatore @var{DST} +dell'ora legale @`e positivo, si presuppone che l'ora sia quella legale; se @`e 0, l'ora considerata @`e quella di Greenwich (standard time); se invece @`e negativo (questo @`e il default), @code{mktime()} tenta di determinare se @`e in vigore l'ora legale o no, nel momento specificato. @@ -23572,7 +23588,7 @@ elaborare gli argomenti presenti sulla riga di comando. Il programmatore fornisce una stringa che descrive le opzioni, ognuna delle quali consiste di una sola lettera. Se un'opzione richiede un -argomento, nella stringa l'opzione @`e seguita da due punti @code{:}. +argomento, nella stringa l'opzione @`e seguita da due punti (@code{:}). A @code{getopt()} vengono anche passati il numero e i valori degli argomenti presenti sulla riga di comando e viene chiamata in un ciclo. @@ -23760,7 +23776,8 @@ mantiene il suo valore attraverso chiamate successive a @code{getopt()}, perch@' L'espressione regolare che viene usata, @code{@w{/^-[^:[:space:]/}}, chiede di cercare un @samp{-} seguito da qualsiasi cosa che non sia uno spazio vuoto o un carattere -di due punti @code{:}. Se l'argomento corrente sulla riga di comando non corrisponde a +di due punti (@code{:}). +Se l'argomento corrente sulla riga di comando non corrisponde a quest'espressione regolare, vuol dire che non si tratta di un'opzione, e quindi viene terminata l'elaborazione delle opzioni. Continuando: @@ -23830,7 +23847,7 @@ conoscere quale lettera di opzione @`e quella non valida. Proseguendo: @end example Se l'opzione richiede un argomento, la lettera di opzione @`e seguita da -due punti @code{:} +due punti (@code{:}) nella stringa @code{opzioni}. Se rimangono altri caratteri nell'argomento corrente sulla riga di comando (@code{argv[Optind]}), il resto di quella stringa viene assegnato a @code{Optarg}. Altrimenti, viene usato il successivo @@ -24067,7 +24084,7 @@ main(int argc, char **argv) Se non si conosce il linguaggio C, non @`e il caso di preoccuparsi. L'output di @command{pwcat} @`e la lista degli utenti, nel formato -tradizionale del file @file{/etc/passwd} con campi separati da due punti @code{:}. +tradizionale del file @file{/etc/passwd} con campi separati da due punti (@code{:}). I campi sono: @table @asis @@ -24460,7 +24477,7 @@ main(int argc, char **argv) @end example Ciascuna riga nella lista dei gruppi rappresenta un gruppo. I campi sono -separati da due punti @code{:} e rappresentano le seguenti informazioni: +separati da due punti (@code{:}) e rappresentano le seguenti informazioni: @table @asis @item Nome del gruppo @@ -25460,7 +25477,7 @@ carattere speciale come @value{FN}. Normalmente, @command{egrep} stampa le righe per cui @`e stata trovata una corrispondenza. Se nella riga di comando si richiede di operare su pi@`u di un @value{FN}, ogni riga in output @`e preceduta dal nome del file, e dal segno -due punti @code{:}. +due punti (@code{:}). Le opzioni di @command{egrep} sono le seguenti: @@ -25676,7 +25693,7 @@ usando @code{nextfile}. Analogamente, se stiamo solo stampando @value{FNS}, possiamo stampare il @value{FN}, e quindi saltare al file successivo con @code{nextfile}. Infine, ogni riga viene stampata, preceduta, se necessario, dal @value{FN} e -dai due punti @code{:}: +dai due punti (@code{:}): @cindex @code{!} (punto esclamativo), operatore @code{!} @cindex punto esclamativo (@code{!}), operatore @code{!} @@ -28359,7 +28376,7 @@ parole trovate in ordine alfabetico: # - split() con separatore "" per separare ogni singolo carattere # - le funzioni asort() e asorti() # -# Vedere http://savannah.gnu.org/projects/gawk. +# Vedere https://savannah.gnu.org/projects/gawk. # # Arnold Robbins # arnold@@skeeve.com @@ -29152,7 +29169,7 @@ END @{ @end example Il primo campo di ogni elemento del file delle password @`e il nome d'accesso -dell'utente, e i campi sono separati tra loro da due punti @code{:}. +dell'utente, e i campi sono separati tra loro da due punti (@code{:}). Ogni record definisce un sottovettore, con ogni campo come elemento nel sottovettore. L'esecuzione del programma produce @@ -32976,7 +32993,7 @@ disponibili nell'hardware del sistema su cui viene eseguito. Tuttavia, se @`e stato compilato in modo da includere questa funzionalit@`a ed @`e stata specificata l'opzione da riga di comando @option{-M}, @command{gawk} usa le librerie -@uref{http://www.mpfr.org, GNU MPFR} e @uref{http://gmplib.org, GNU MP} (GMP) +@uref{http://www.mpfr.org, GNU MPFR} e @uref{https://gmplib.org, GNU MP} (GMP) per effettuare calcoli sui numeri con una precisione arbitraria. Si pu@`o verificare se il supporto a MPFR @`e disponibile in questo modo: @@ -33580,12 +33597,12 @@ Si pu@`o simulare la funzione @code{intdiv0()} in @command{awk} standard usando questa funzione definita dall'utente: @example -@c file eg/lib/intdiv.awk +@c file eg/lib/intdiv0.awk # intdiv0 --- fa una divisione intera @c endfile @ignore -@c file eg/lib/intdiv.awk +@c file eg/lib/intdiv0.awk # # Arnold Robbins, arnold@@skeeve.com, Public Domain # July, 2014 @@ -33599,7 +33616,7 @@ usando questa funzione definita dall'utente: @c endfile @end ignore -@c file eg/lib/intdiv.awk +@c file eg/lib/intdiv0.awk function intdiv0(numerator, denominator, result) @{ split("", result) @@ -33676,6 +33693,7 @@ http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=899 @end quotation -Katie +@end ignore Quando gli fu chiesto dell'algoritmo usato, Katie rispose: @@ -33699,7 +33717,7 @@ Si veda @cindex MPFR, controllare se disponibile @cindex controllare disponibilit@`a MPFR -In qualche occasione, potreste voler controllare se @command{gawk} sia stato +Occasionalmente, potrebbe essere utile controllare se @command{gawk} sia stato chiamato specificando l'opzione @option{-M}, che consente di effettuare calcoli aritmetici di precisione arbitraria. Lo si pu@`o fare con la funzione seguente, messa a disposizione da @@ -34521,9 +34539,9 @@ memorizza ogni numero o come una variabile C di tipo @code{double}, o come un numero intero GMP, o come un numero MPFR a virgola mobile di precisione arbitraria. Per consentire alle estensioni di supportare valori numerici GMP ed MPFR, i valori numerici sono -comunicati utilizzando questa struttura. +trasmessi utilizzando questa struttura. -L'elemento in doppia-precisione @code{d} @`e sempre valorizzato nei dati +L'elemento in doppia-precisione @code{d} @`e sempre presente nei dati ricevuti da @command{gawk}. Inoltre, esaminando il membro @code{type}, un'estensione @`e in grado di determinare se il membro puntato da @code{ptr} sia un numero intero GMP (tipo @code{mpz_ptr}), o un numero @@ -34761,8 +34779,8 @@ invece che @code{gawk_malloc()}. Gli argomenti sono gli stessi della macro @code{emalloc()}. @end table -Due ulteriori funzioni allocano oggetti MPFR e GMP per l'utilizzo -da parte di funzioni di estensione che necessitino di creare e di +Due ulteriori funzioni allocano oggetti MPFR e GMP per essere usati +da funzioni di estensione che necessitino di creare e di restituire valori di questo tipo: @table @code @@ -34836,14 +34854,14 @@ Questa funzione crea semplicemente un valore numerico nella variabile @item static inline awk_value_t * @itemx make_number_mpz(void *mpz, awk_value_t *result); -Questa funzione crea un valore di numero GMP number in @code{result}. +Questa funzione crea un valore di numero GMP in @code{result}. @code{mpz} deve provenire da una chiamata a @code{get_mpz_ptr()} (e quindi essere veramente del corrispondente tipo @code{mpz_ptr}). @command{gawk} assume la propriet@`a di questa memoria. @item static inline awk_value_t * @itemx make_number_mpfr(void *mpfr, awk_value_t *result); -Questa funzione crea un valore di numero MPFR number in @code{result}. +Questa funzione crea un valore di numero MPFR in @code{result}. @code{mpz} deve provenire da una chiamata a @code{get_mpfr_ptr()} (e quindi essere veramente del corrispondente tipo @code{mpfr_ptr}). @command{gawk} assume la propriet@`a di questa memoria. @@ -35294,12 +35312,12 @@ campo. In caso contrario, @code{*rt_len} dovrebbe essere impostata a zero. gestire tale memoria. @item const awk_fieldwidth_info_t **field_width -Se @code{field_width} non @`e @code{NULL}, allora @code{*field_width} sar@`a +Se @code{field_width} non @`e @code{NULL}, @code{*field_width} sar@`a inizializzato a @code{NULL}, e la funzione pu@`o impostarlo per puntare a una struttura che fornisca l'informazione sulla lunghezza del campo, che sar@`a utilizzata al posto di quella determinata dall'analizzatore di default -del campo. Si noti che qeusta struttura non sar@`a copiata da @command{gawk}; -inoltre essa deve rimanere disponibile almeno fino alla prossima chiamata a +del campo. Si noti che questa struttura non sar@`a copiata da @command{gawk}; +inoltre essa deve rimanere disponibile almeno fino alla successiva chiamata a @code{get_record} o a @code{close_func}. Si noti inoltre che @code{field_width} vale @code{NULL} quando @code{getline} sta assegnando i risultati a una variabile, e quindi un'analisi del campo non @`e necessaria. @@ -35307,7 +35325,7 @@ Se l'analizzatore imposta @code{*field_width}, allora @command{gawk} usa questa descrizione per analizzare il record in input, e il valore di @code{PROCINFO["FS"]} sar@`a @code{"API"} finch@'e questo record rimane corrente come @code{$0}. -La struttura dati @code{awk_fieldwidth_info_t} @`e descritta sotto. +La struttura dati @code{awk_fieldwidth_info_t} @`e descritta qui di seguito. @end table Il codice di ritorno @`e la lunghezza del buffer puntato da @@ -35371,8 +35389,8 @@ Registra l'analizzatore di input puntato da @code{input_parser} con @command{gawk}. @end table -Se si vuole sostituire il meccanismo di default per determinare i campi -[con uno scritto dall'utente], si deve riempire una struttura +Se si vuole ignorare il meccanismo di default per l'analisi dei campi +per un determinato record, si deve riempire una struttura @code{awk_fieldwidth_info_t} che ha questo aspetto: @example @@ -35391,7 +35409,7 @@ I campi sono: @table @code @item awk_bool_t use_chars; Impostare ad @code{awk_true} se le lunghezze di campo sono specificate in -unit@`a di caratteri---potenzialmente multi-byte, oppure impostarlo a +unit@`a di caratteri potenzialmente multi-byte, oppure impostarlo a @code{awk_false} se le lunghezze sono espresse in numero di byte. L'efficienza del programma sar@`a maggiore utilizzando la dimensione in byte. @@ -35404,7 +35422,7 @@ dovrebbe essere @code{nf}. Per ogni campo, l'elemento @code{skip} dovrebbe essere impostato al numero di caratteri o byte, come richiesto dal flag @code{use_chars}, da saltare prima dell'inizio di questo campo. L'elemento @code{len} fornisce -la lunghezza del campo. I valori in @code{fields[0]} fornisce l'informazione +la lunghezza del campo. I valori in @code{fields[0]} forniscono l'informazione per @code{$1}, e cos@`{@dotless{i}} via, fino all'elemento @code{fields[nf-1]} che contiene l'informazione per @code{$NF}. @end table @@ -40412,7 +40430,7 @@ La funzione @code{intdiv0()}. @end ifset @item -La funzione @code{mktime()} ora acctte un secondo argomento facoltativo +La funzione @code{mktime()} ora accetta un secondo argomento facoltativo (@pxref{Funzioni di tempo}). @item @@ -41577,7 +41595,7 @@ Quest'opzione potr@`a essere rimossa in futuro. @item --disable-mpfr Non viene effettuato il controllo delle librerie MPFR e GMP. Ci@`o pu@`o essere utile principalmente per gli sviluppatori, -per essere sicuro che tutto funzioni regolarmente nel caso in cui +per assicurarsi che tutto funzioni regolarmente nel caso in cui il supporto MPFR non sia disponibile. @cindex @option{--disable-nls}, opzione di configurazione @@ -42302,13 +42320,26 @@ si sforzi di risolverlo. @node Indirizzo Bug @appendixsubsec Segnalare Bug -Prima di segnalare un bug, occorre assicurarsi che sia davvero un bug. La -documentazione va riletta attentamente, per controllare se dice che @`e possibile +Prima di segnalare un bug, occorre assicurarsi che sia davvero un bug. +Per prima cosa, si deve verificare se si sta usando l'ultima versione di +@command{gawk}. +Molti bug (di solito difficili da scoprire) sono corretti in ogni nuova +versione, e se la versione in uso @`e piuttosto datata, il problema pu@`o +essere stato risolto nel frattempo. + +In secondo luogo, si dovrebbe controllare se, con l'impostare la variabile +@env{LC_ALL} come @code{LC_ALL=C} produce il funzionamento atteso da parte +del programma. Se @`e questo il caso, il problema dipende dalla +localizzazione, e pu@`o non essere veramente un bug. + +In terzo luogo, va riletta attentamente la documentazione, +per controllare se dice che @`e possibile fare quel che si sta tentando di fare. Se non @`e chiaro se sia possibile fare quella particolare cosa o no, occorre segnalarlo; in questo caso si tratta di un bug nella documentazione! -Prima di segnalare un bug o di tentare di risolverlo personalmente, si tenti +Infine, prima +di segnalare un bug o di tentare di risolverlo personalmente, si tenti di isolarlo preparando un programma @command{awk} il pi@`u piccolo possibile, con un @value{DF} in input che possa riprodurre il problema. Dopo averlo fatto, si spedisca il programma e il @value{DF}, insieme a informazioni sul tipo di @@ -42574,6 +42605,11 @@ L'installazione @`e simile a quella di @command{gawk} @xref{Estensioni comuni} per una lista di estensioni in @command{mawk} che non sono in POSIX @command{awk}. +@item @command{mawk} 2.0 +Nel 2016, Michael Brennan ha iniziato nuovamente lo sviluppo di @command{mawk}. +Le sue versioni di sviluppo sono disponibili tramite Git dalla pagina GitHub +@uref{https://github.com/mikebrennan000/mawk-2, del progetto}. + @cindex Sumner, Andrew @cindex @command{awka}, compilatore per @command{awk} @cindex compilatore per @command{awk}, @command{awka} @@ -42625,7 +42661,7 @@ Include un'implementazione completa di POSIX @command{awk}. Quando lo si compila occorre prestare attenzione a non eseguire @samp{make install}, perch@'e in questo modo si andrebbero a sostituire copie di altre applicazioni nella directory @file{/usr/local/bin} del sistema corrente. Per ulteriori -informazioni, si veda @uref{http://busybox.net, la pagina principale del progetto}. +informazioni, si veda @uref{https://busybox.net, la pagina principale del progetto}. @cindex OpenSolaris @cindex Solaris, versione POSIX @command{awk} @@ -42647,7 +42683,7 @@ stato fin qui compiuto, almeno per quel che risulta a chi scrive. Il codice sorgente era un tempo disponibile dal sito web OpenSolaris. Tuttavia, il progetto @`e terminato, e il sito web chiuso. Fortunatamente, il progetto -@uref{http://wiki.illumos.org/display/illumos/illumos+Home, Illumos} +@uref{https://wiki.illumos.org/display/illumos/illumos+Home, Illumos} mette a disposizione questa implementazione. Si possono vedere i singoli file in @uref{https://github.com/joyent/illumos-joyent/blob/master/usr/src/cmd/awk_xpg4}. @@ -44722,7 +44758,7 @@ In ambito informatico, standard importanti come quelli per il C, C++, e POSIX sono allo stesso tempo standard nazionali americani e standard internazionali ISO. In questo @value{DOCUMENT} lo Standard C @`e chiamato ``ISO C''. -Si veda @uref{http://www.iso.org/iso/home/about.htm, il sito web ISO} per +Si veda @uref{https://www.iso.org/iso/home/about.htm, il sito web ISO} per ulteriori informazioni sul nome dell'ente e sul suo acronimo di tre lettere, che rimane lo stesso in tutte le lingue. @@ -44895,7 +44931,7 @@ che questi standard sono stati originati dallo Unix. Lo standard pi@`u rilevante per gli utenti @command{awk} @`e lo @cite{IEEE Standard for Information Technology, Standard 1003.1-2008}. Lo standard POSIX 2008 pu@`o essere trovato in rete all'indirizzo: -@url{http://www.opengroup.org/onlinepubs/9699919799/}. +@url{http://pubs.opengroup.org/onlinepubs/9699919799/}. @item Precedenza L'ordine in cui le operazioni sono eseguite quando si usano degli operatori @@ -45044,7 +45080,7 @@ come un sistema per lo sviluppo del software e come server di rete. Ci sono parecchie versioni di Unix a pagamento, come pure parecchi sistemi operativi modellati su Unix e il cui codice sorgente @`e liberamente disponibile. (come GNU/Linux, @uref{http://www.netbsd.org, NetBSD}, -@uref{http://www.freebsd.org, FreeBSD}, e +@uref{https://www.freebsd.org, FreeBSD}, e @uref{http://www.openbsd.org, OpenBSD}). @item UTC @@ -46400,10 +46436,10 @@ Una MMC @`e ``qualificata a cambiare questa licenza'' se ha adottato questa licenza e se tutte le opere precedentemente pubblicate con questa licenza altrove rispetto alla MMC e successivamente incorporate del tutto o in parte nella MMC (1) non hanno testo di copertina o sezioni invarianti e -(2) sono state incorporate prima del 1^ Novembre 2008. +(2) sono state incorporate prima del 1@sup{o} novembre 2008. L'operatore di un sito MMC pu@`o ripubblicare un MMC contenuto nel sito con -una CC-BY-SA nello stesso sito in qualsiasi momento prima del 1^ Agosto +una CC-BY-SA nello stesso sito in qualsiasi momento prima del 1@sup{o} agosto 2009, da parte di una MMC qualificata a cambiare questa licenza. @end enumerate |