Что означает двойной знак доллара ($$)? - PullRequest
1 голос
/ 19 сентября 2019

Я просто не могу понять, как работает эта строка кода awk.

$$1~/^[^0-9]/ {print $$1;}

1 Ответ

1 голос
/ 19 сентября 2019

Знак $ является оператором в awk для ссылки на поле.Пример:

$ echo "foo bar car" | awk '{print $2}'
bar

Это печатает bar, так как bar является содержимым второго поля.

Двойной знак доллара на самом деле является двойной ссылкой, которая будет использовать информацию первой ссылки на поле для перехода к другой ссылке на поле.Пример:

$ echo "foo bar car 1 2 3" | awk '{print $$5}'
bar
$ echo "foo bar car 1 2 3" | awk '{print $5}'
2

Здесь он печатает bar, поскольку $5 разыменовывается как 2 и, таким образом, $$5 эквивалентно $2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...