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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

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

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

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6015
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Awk. Форматирование вывода
« Ответ #1 : 17 Январь 2017, 18:01:04 »
Код: Bash
  1. 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

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

Оффлайн Azure

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

 

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