Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Awk. Форматирование вывода  (Прочитано 558 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн montag451F

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Awk. Форматирование вывода
« : 17 Января 2017, 17:46:28 »
Добрый вечер. Форматирую отчет о звонках командой

cat CDRReport-2017Jan17.115323.csv | awk -F "," '{print $1 "," $2 "," $7 "," $9 "," $9}'
Получаю вывод вида:

«2016-12-01 09:01:20»,«364420»,«Local/501@from-queue-0000030a;1»,«123s (2m 3s)»,«123s (2m 3s)»
Как можно в поле «Local/501@from-queue-0000030a;1»(оно же $7) убрать слева часть текста до «/»(включая «/»), а справа убрать часть текста после «@»(включая «@»). Тоже самое только в последнем поле «123s (2m 3s)», убрать все справа до «s»(включая «s»), так чтобы осталось только число(в данном примере 123).

PS:

substr($7, 8, 3)

не подходит, так как не будет работать для четырехзначных номеров.

ТС не появлялся на Форуме более полугода по состоянию на 14/07/2019 (последняя явка: 07/03/2017). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 14 Июля 2019, 03:50:58 от zg_nico »

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Awk. Форматирование вывода
« Ответ #1 : 17 Января 2017, 18:01:04 »
Код: (bash) [Выделить]
awk 'BEGIN{FS=OFS=","}{print $1, $2, gensub(".*/([0-9]+)@.*", "\\1", 1, $7), $9, $9 + 0}' CDRReport-2017Jan17.115323.csv
« Последнее редактирование: 18 Января 2017, 01:55:36 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Awk. Форматирование вывода
« Ответ #2 : 18 Января 2017, 00:37:09 »
montag451F,
Только замени:
Код: (bash) [Выделить]
awk 'BEGN{на:
Код: (bash) [Выделить]
awk 'BEGIN{

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Awk. Форматирование вывода
« Ответ #3 : 18 Января 2017, 01:56:08 »
renzrv, заменил 8)
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.051 секунд. Запросов: 23.