git: b891aedcdd2d - main - awk: Add more details top the FS variable
Warner Losh
imp at FreeBSD.org
Tue Jul 20 04:33:49 UTC 2021
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=b891aedcdd2d9a3e1530e45f6b785b768cccc466
commit b891aedcdd2d9a3e1530e45f6b785b768cccc466
Author: Warner Losh <imp at FreeBSD.org>
AuthorDate: 2021-07-20 02:10:22 +0000
Commit: Warner Losh <imp at FreeBSD.org>
CommitDate: 2021-07-20 04:33:26 +0000
awk: Add more details top the FS variable
The current description of the FS is true, but only part of the
truth. Add information about single characters and note that FS="" is
undefined by the standard, though the two other awk implenetations (mawk
and gawk) also have this interpretation.
PR: 226112
Sponsored by: Netflix
---
usr.bin/awk/awk.1 | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/usr.bin/awk/awk.1 b/usr.bin/awk/awk.1
index 4be4b96cabce..b85efe9d87cd 100644
--- a/usr.bin/awk/awk.1
+++ b/usr.bin/awk/awk.1
@@ -131,8 +131,9 @@ and newlines are used as field separators
This is convenient when working with multi-line records.
.Pp
An input line is normally made up of fields separated by whitespace,
-or by the regular expression
-.Va FS .
+or by the extended regular expression
+.Va FS
+as described below.
The fields are denoted
.Va $1 , $2 , ... ,
while
@@ -141,6 +142,22 @@ refers to the entire line.
If
.Va FS
is null, the input line is split into one field per character.
+While both gawk and mawk have the same behavior, it is unspecified in the
+.St -p1003.1-2008
+standard.
+If
+.Va FS
+is a single space, then leading and trailing blank and newline characters are
+skipped.
+Fields are delimited by one or more blank or newline characters.
+A blank character is a space or a tab.
+If
+.Va FS
+is a single character, other than space, fields are delimited by each single
+occurrence of that character.
+The
+.Va FS
+variable defaults to a single space.
.Pp
Normally, any number of blanks separate fields.
In order to set the field separator to a single blank, use the
More information about the dev-commits-src-main
mailing list