Как анализировать поля из текстового файла и записывать их в другой файл

Я выполнил команду базы данных и сгенерировал выходной файл результатов. Каждое имя поля начинается с dbt_xxxxxx Каждое значение поля – это значение после знака равенства. как я могу разобрать файл и записать новый файл, где имя поля находится в столбце, а значение – это другой столбец и создать заголовок для файла

 dbt_dbid=4 dbt_stat=0x0 (0x0000) dbt_extstat=0x0 (0x0000) dbt_stat2=0x0 (0x0000) dbt_stat3=0x20000 (0x00020000 (DBT3_SYSPARTITIONS_EXISTS)) dbt_stat4=0x0 (0x00000000) dbt_runstat=0x0(0x0000) dbt_state=0x2(0x0002 (DBST_ACTIVE)) dbt_keep=0 dbt_hdeskeep=0 dbt_next=0x000000002197DE80 dbt_systask_keep=0 dbt_detachxact_keep 0 dbt_dcompver_default=1 dbt_lock=0 dbt_dbaid=1 dbt_verstimestamp= May 15 2012 3:37PM dbt_dbname=TestDB dbt_logrows=0 dbt_lastlogbp=0x0000000000000000 dbt_logsema=000000000099EE10 dbt_nextseq=11 dbt_oldseq=11 dbt_dbinfobuf.dbi_logvers=7 dbt_dbinfobuf.dbi_upgdvers=35 ... .dbi_upgd_minor=1720 dbt_dbinfobuf.dbi_dbinfovers=5 dbt_dbinfobuf.dbi_sarg_vers=2 dbt_threshstat=0x0 dbt_thresholds=0x00000000219873B8 dbt_thresh_spin=0x000000002011E300 dbt_maxthresh=256 thc_segment 2 thc_level 664 thc_status 0xf <-- last chance threshold dbt_nextid=560001995 dbt_nextidstat=0x0 dbt_dflinfo=0x0000000000000000 dbt_dflstat=0x0 dbt_dumpthreadlock=0 dbt_dbts=0x0000 0x00001492 dbt_xdesqueue next=0x0000000021986C20 

2 Solutions collect form web for “Как анализировать поля из текстового файла и записывать их в другой файл”

Вот что я придумал:

 echo -e "Name\tValue" \ | cat input.txt - \ | sed -e 's/dbt_/\ndbt_/g;s/=/\t/g' \ -e 's/^[[:space:]]//;s/[[:space:]]$//;/^$/d' 

Теперь это оставляет строку «thc_segment» в одиночку и делает последнюю строку dbt_xdesqueue next 0x0000000021986C20 . Если вы хотите что-то еще, вам нужно будет указать его.

 { printf "%s\t%s\n" Name Value grep -Po 'dbt_.+?=.*?(?=dbt_|$)' input_file | tr = '\t' } > output_file 
  • Как добавить несколько строк в файл после шаблона, который также является многострочным?
  • Как использовать sed, как заменить строку, содержащую шаблон, содержимым из другого файла?
  • как добавить описание в нижнем колонтитуле
  • печатать пустую строку в sed output при передаче нескольких имен файлов
  • Присоединиться: два файла - но только добавить последние два столбца
  • Найти файлы, содержащие набор слов
  • Как вставить первую строку одного файла в первую строку другого?
  • Как распечатать последнее слово, которое содержит разделитель поля
  • Фильтрация путей на определенную глубину
  • Как удалить все строки, которые имеют одно значение в строке?
  • Sed: Заменить шаблон на каждой второй новой строке?
  • Interesting Posts

    Запуск приложения Qt при запуске для встроенной Linux

    Точка доступа (с hostapd) на том же интерфейсе, что и сеть / шлюз?

    Как запустить скрипт, как только изменится номер недели?

    Что означает «установка fs с ошибками» в dmesg и что делать после этого?

    Удаление GDB на Mac

    Удаленный рабочий стол (KDE) через обратный туннель SSH

    Как реализован графический интерфейс Vim, если это программа, работающая на терминале?

    Функция в функции не будет вызвана несколько раз, если потребуется?

    Новый Debian 8, без звука

    Почему ping IP отличается от того, что пинг веб-сайта?

    Debian – Как проверить, поддерживается ли пакет?

    Почему kdeconnect прослушивает порт 1716 / tcp все время? Как закрыть порт / защитить его?

    Итерация через csv и печать определенных элементов

    Показывать только имена файлов без путей в окнах XFCE

    Xorg – игнорировать событие первого щелчка при возобновлении с экрана Blanking

    Linux и Unix - лучшая ОС в мире.