Awk - добавление определенного количества пробелов между столбцами - PullRequest
0 голосов
/ 05 июня 2018

Мой входной файл содержит столбцы, которые равномерно распределены следующим образом:

X a b C D

Как использовать awk, чтобы указать количество пробелов между столбцами, чтобы получить что-то вроде этого:

X     a b    C         D

Я знаю, как подсчитать пробелы между столбцами с помощью awk, я просто не знаю, как добавить эти пробелы, чтобы получить нужный макет.Есть предложения?

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

с awk

$ echo "X a b C D" | awk '{printf "%-6s%-2s%-5s%-9s%s\n", $1,$2,$3,$4,$5}'

X     a b    C        D

или с printf напрямую

$ echo "X a b C D" | xargs printf "%-6s%-2s%-5s%-9s%s\n"
X     a b    C        D
0 голосов
/ 05 июня 2018

Здесь пригодится printf:

$ echo "X a b C D" | perl -lane 'printf "%-6s%-2s%-5s%-9s%s\n", @F'
X     a b    C        D

Отрегулируйте ширину поля, как требуется.

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