
Gawk-specific Features | 777
gawk
This is the Title of the Book, eMatter Edition
Copyright © 2006 O’Reilly & Associates, Inc. All rights reserved.
constants with a leading 0x or 0X. The hexadecimal digits a–f may be in either
uppercase or lowercase.
$ gawk 'BEGIN { print 042, 42, 0x42 }'
34 42 66
Use the strtonum( ) function to convert octal or hexadecimal input data into
numerical values.
User-Defined Functions
gawk allows you to define your own functions. This makes it easy to encapsulate
sequences of steps that need to be repeated into a single place and reuse the code
from anywhere in your program.
The following function capitalizes each word in a string. It has one parameter,
named input, and five local variables, which are written as extra parameters:
# capitalize each word in a string
function capitalize(input, result, words, n, i, w)
{
result = ""
n = split(input, words, " ")
for (i = 1; i <= n; i++) {
w = words[i]
w = toupper(substr(w, 1, 1)) substr(w, 2)
if (i > 1)
result = result " "
result = result w
}
return result
}
# main program, for testing
{ print capitalize($0) }
With this input data:
A test line with words and numbers like 12 on it.
This program produces:
A Test Line With Words And Numbers Like 12 On It.
For user-defined functions, no space is allowed between the func-
tion name and the left parenthesis when the function is called.
Gawk-specific Features
This section describes features unique ...