Добавление дополнительной информации в строку

У меня есть файл GTF, как это:

ChrI Coding_transcript gene 8451772 8509212 . - . gene_id "UMM-S589-0.12-gene-1" ChrI Coding_transcript exon 8501974 8509212 . - . gene_id "UMM-S589-0.12-gene-1" ChrI Coding_transcript exon 8491643 8501928 . - 0 gene_id "UMM-S589-0.12-gene-1" 

Теперь я хочу добавить больше информации в колонку 9, чтобы она выглядела следующим образом:

 ChrI Coding_transcript exon 8501974 8509212 . - . gene_id "UMM-S589-0.12-gene-1"; transcript_id "UMM-S589-0.12-gene-1", exon_id "1"; ChrI Coding_transcript exon 8491643 8501928 . - 0 gene_id "UMM-S589-0.12-gene-1";transcript_id "UMM-S589-0.12-gene-1", exon_id "2"; 

Кто-нибудь знает любую простую команду, которую я могу использовать, чтобы сделать этот файл? Спасибо вам большое!

One Solution collect form web for “Добавление дополнительной информации в строку”

Попробуй это:

 awk 'NF==10{print $0";transcript_id "$10", exon_id ""\""++count[$3]"\""";"}NF!=10{print $0}' file.gtf 

Выход:

 ChrI Coding_transcript exon 8501974 8509212 . - . gene_id "UMM-S589-0.12-gene-1";transcript_id "UMM-S589-0.12-gene-1", exon_id "1"; ChrI Coding_transcript exon 8491643 8501928 . - 0 gene_id "UMM-S589-0.12-gene-1";transcript_id "UMM-S589-0.12-gene-1", exon_id "2"; 
  • NF==10 проверить, если количество полей 10.
    • print $0 напечатать полную строку.
    • transcript_id $10 так как он совпадает с gene_id
    • ++count[$3] распечатать вхождение exon (3-е поле)
  • NF!=10 просто напечатайте строку.
  • awk: разделить столбец, распечатать левую часть разделителя и вставить в середине csv
  • неверный символ '@' в выводе выражения awk
  • Разделить файл с разделителями на несколько файлов на основе значений в одном столбце
  • Удалить строковый файл после пробела
  • Как выполнить две команды grep для одного файла?
  • Пробуждение к среднему столбцу на основе ключа во 2-м столбце
  • печатать строки, если разделенные запятыми поля совпадают в другой строке
  • Как поместить поиск строки с помощью команды grep в оператор if?
  • Отфильтровать 2-й вхождение текста между цитатами с помощью sed?
  • Вывести обе строки при изменении столбца
  • Как я могу удалить текст перед шаблоном (--------------) в Linux
  • Interesting Posts

    Переадресация локальных портов SSH

    Должен ли дескриптор файла быть закрыт после его использования?

    список всех пакетов, из которых распространяется

    Уведомление IRSSI – методом вытягивания

    Как измерить изменения в файловой системе, выполненные определенным приложением?

    Как использовать распределение tty для запуска GPG через SSH?

    Использование egrep для поиска совпадений в файле при выводе конвейера из команды cat

    on osx vim 7.3 set number set relative number not working

    Cron не работает при запуске, но работает, если перезагружен?

    получить категории gmail на thunderbird

    Мониторинг использования полосы пропускания от разных виртуальных хостов

    почему переменная массива не считается установленной, если ей присваивается `()`?

    root не может получить доступ к виртуальной файловой системе?

    Является ли btrfs подходящей резервной файловой системой?

    как связать команды типа «Ctrl + C» с одним ключом (например, «F5»)?

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