Обновление
Это была ошибка, и исправление доступно в git repo сейчас.
Я не могу понять, как обхват в FS
интерпретируется.Например, вот мой file
:
$ cat file
foo bar
baz quz
Я написал этот сценарий awk:
BEGIN{FS="^.";OFS="|"}{$1=$1}1
и ожидал такого вывода:
|oo bar
|uz baz
, нос gawk я получил это:
$ gawk 'BEGIN{FS="^.";OFS="|"}{$1=$1}1' file
||o bar
||z quz
И это становится странным с большим количеством точек:
$ gawk 'BEGIN{FS="^..";OFS="|"}{$1=$1}1' file
||bar
||quz
$ gawk 'BEGIN{FS="^...";OFS="|"}{$1=$1}1' file
||r
||z
$ gawk 'BEGIN{FS="^....";OFS="|"}{$1=$1}1' file
|bar
|quz
Я не смог найти объяснения ни в спецификации POSIX awk nor gawk manual .Ребята, не могли бы вы помочь мне понять, что происходит?Что мне здесь не хватает?