Awk упорядочение строки с разделителями - PullRequest
0 голосов
/ 27 июня 2019

У меня есть строка с "|"поля с разделителями:

name|phone|email|surname|house|street|

со стороны кода, в конце этой строки стоит "\ n". Как я могу изменить порядок этой строки, используя ограничитель сохранения awk?

awk '{print $1,$4,$3,$2....}' неработать он просто удаляет столбец.

Ответы [ 3 ]

1 голос
/ 27 июня 2019

Использование awk

$awk '{print $1,$4,$3,$2}' FS="|" OFS="|" file
name|surname|email|phone
1 голос
/ 27 июня 2019

Установить разделитель поля ввода и вывода:

echo 'name|phone|email|surname|house|street|' |\
  awk '{print $1,$4,$3,$2,$6,$7}' FS='|' OFS='|'

Выход:

name|surname|email|phone|street|
0 голосов
/ 27 июня 2019

Вот как можно поменять местами поля 2 и 4 с помощью временной переменной:

awk -F'|' '{ tmp=$2; $2=$4; $4=tmp } 1' OFS='|'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...