разделитель полей в скрипте awk - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь напечатать столбцы в файле, разделенные |, используя awk.

Содержимое файла:

 postgres  | psql                   |               | 2018-09-17 05:00:45.096491+00 |            | active
 test_user | PostgreSQL JDBC Driver | ***.**.**.118 | 2018-09-17 03:55:22.310569+00 |            | idle in transaction
 test_user | PostgreSQL JDBC Driver | ***.**.**.95  | 2018-09-17 03:54:58.638521+00 |            | idle in transaction

Я использую приведенную ниже команду awk для разделения столбцов в файле.

 awk 'BEGIN { RS = "|" } ; { print $2 }' vv.txt

Также см. Прикрепленное изображение, которое дает четкое представление о проблеме. Я не уверен, почему данные портятся? Это также рассматривает пространство как разделитель?

enter image description here

1 Ответ

0 голосов
/ 17 сентября 2018

Проблема:

Как было объяснено в комментариях, вы изменили разделитель записей вместо разделителя полей.

Решение:

awk -F'|' '{ print $2 }' vv.txt

Выход:

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