awk не печатает OFS с каналом или текстовым файлом - PullRequest
0 голосов
/ 23 декабря 2018

Я на Ubuntu, пожалуйста, помогите, что я делаю не так

$ echo "hello there" | awk -v OFS=";" '{print $0 $1 $2}'
hello therehellothere
$ echo "hello there" | awk 'BEGIN {OFS=","} {print $0 $1 $2}'
hello therehellothere
$ awk 'BEGIN {OFS=","} {print $0 $1 $2}' hello.txt
hello therehellothere

1 Ответ

0 голосов
/ 23 декабря 2018

для печати требуется , для разделения каждой выходной переменной / значения:

$ echo "hello there" | awk -v OFS=";" '{print $0,$1,$2}'
#=> hello there;hello;there
$ echo "hello there" | awk 'BEGIN {OFS=","} {print $0,$1,$2}'
#=> hello there,hello,there

пробел означает простую конкатенацию каждой строки / переменной.
Использовать пробел, когда вам нужно, было бы ошибкойOFS, но для некоторых нужд это удобно.

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