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

У меня есть файл 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 просто напечатайте строку.
  • grep'ping файлы для нескольких строк (не в одной строке)
  • Как получить последние три последние даты файла журнала?
  • Разделить файл с разделителями на несколько файлов на основе значений в одном столбце
  • поиск шаблонов пар с использованием awk
  • Как извлечь номер из строки
  • Как переместить строку из файла в другой файл на основе сопоставления с образцом?
  • Отфильтровать 2-й вхождение текста между цитатами с помощью sed?
  • Вывести обе строки при изменении столбца
  • Linux и Unix - лучшая ОС в мире.