Из вывода awk, как вырезать или обрезать символы в столбцах - PullRequest
0 голосов
/ 12 декабря 2018

На данный момент

Я хочу обрезать .fmbi1a5nn9sp5o4qy3eyazeq5.eddvrl9sa8t448pb38vibj8ef: и .ilwio0k43fgqt4jqzyfadx19v:, чтобы вывод занимал меньше места:)

Первый шаг:

docker ps --format "{{.Names}}: {{.Status}}" | sort -k1 | column -t

mon_node-exporter.fmbi1a5nn9sp5o4qy3eyazeq5.eddvrl9sa8t448pb38vibj8ef:     Up  7      days
mon_prometheus.1.ilwio0k43fgqt4jqzyfadx19v:                                Up  7      days

Iзнаю

Я могу сделать что-то вроде:

docker ps --format "{{.Names}}: {{.Status}}" | sort -k1 | rev | cut -d"." -f2- | rev

mon_node-exporter.fmbi1a5nn9sp5o4qy3eyazeq5
mon_prometheus.1

Проблема

в том, что я теряю другие столбцы: - /

Идея

Было бы логично сделать что-то подобное (с помощью awk), но это не работает.Есть идеи?

docker ps --format "{{.Names}} : {{.Status}}" | sort -k1 | awk '{(print $1 | rev | cut -d"." -f2- | rev),$2,$3,$4,$5,$6}' | column -t 

Заранее спасибо!P

Ответы [ 2 ]

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

Works!Этот трюк сделает мою жизнь намного проще.

(я удалил файл)

docker ps --format "{{.Names}}: {{.Status}}" | sort -k1 | awk '{sub(/\.[^.]*$/,"",$1)}1' | column -t;

mon_grafana.1                                   Up  24  hours
mon_node-exporter.fmbi1a5nn9sp5o4qy3eyazeq5     Up  23  hours

Вопрос № 2 : Теперь как бы выпродолжить вырезать символы после первой точки?

Ура!

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

, чтобы вырезать расширение последней точки

$ docker ... | sort | awk '{sub(/\.[^.]*$/,"",$1)}1' file | column -t

mon_node-exporter.fmbi1a5nn9sp5o4qy3eyazeq5  Up  7  days
mon_prometheus.1                             Up  7  days

или удалить что-либо длиннее 20 символов после точки.

$ ... | sed -e 's/\(\.[a-z0-9:]\{20,\}\)* / /' | column -t

mon_node-exporter  Up  7  days
mon_prometheus.1   Up  7  days
...