Печать нескольких столбцов с помощью awk, но с точкой с запятой - PullRequest
0 голосов
/ 30 марта 2020

Я использую awk для фильтрации вывода, возвращенного предыдущей командой (docker image ls), которая является столбцами, разделенными табуляцией.

Я бы хотел напечатать первые 2 столбца с:: между ними.

Что я пробовал:

docker image ls | awk '{ print $1\:$2}'

Но как бы я ни пытался напечатать 1 и 2 доллара, я все равно получаю

awk: syntax error at source line 1
 context is
    { print $1 >>>  \ <<< \ $2}
awk: illegal statement at source line 1

Как можно использовать: на выходе?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 30 марта 2020

Строки должны быть в двойных кавычках:

docker image ls | awk '{print $1 ":" $2}'
2 голосов
/ 30 марта 2020

Установите переменную OFS в нужный разделитель:

docker image ls | awk -v OFS=":" '{print $1, $2}'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...