18 lines
465 B
Awk
18 lines
465 B
Awk
# The bug here is that nawk should use the value of OFS that
|
|
# was current when $0 became invalid to rebuild the record.
|
|
|
|
BEGIN {
|
|
OFS = ":"
|
|
$0 = "a b c d e f g"
|
|
$3 = "3333"
|
|
# Conceptually, $0 should now be "a:b:3333:d:e:f:g"
|
|
|
|
# Change OFS after (conceptually) rebuilding the record
|
|
OFS = "<>"
|
|
|
|
# Unmodifed nawk prints "a<>b<>3333<>d<>e<>f<>g" because
|
|
# it delays rebuilding $0 until it's needed, and then it uses
|
|
# the current value of OFS. Oops.
|
|
print
|
|
}
|