Вставить двойные кавычки только в определенный столбец

В Debian 8 вы можете установить пакет Debian 9 libssl1.1:

wget http://deb.debian.org/debian/pool/main/o/openssl/libssl1.1_1.1.0j-1~deb9u1_amd64.deb
sudo dpkg -i libssl1.1_1.1.0j-1~deb9u1_amd64.deb

Обратите внимание, что вам придется следить за возможными обновлениями безопасности вручную или настраивать репозитории с закреплением для автоматического извлечения libssl1.1из Debian 9, избегая полного -обновления до Debian 9.

0
02.07.2020, 16:43
4 ответа

Вот так:

sed 's/=/ "/g; s/;/";/g' file.gtf

или

sed -e 's/=/ "/g' -e 's/;/";/g' file.gtf
chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-1";
chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-2";
1
18.03.2021, 23:22
$ awk '{ split($0, a, " +|[=;]", seps); '\
'print a[1] seps[1] a[2] seps[2] a[3] " \"" a[4] "\";" a[5] " \"" a[6] "\""; }' input

chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-1"
chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-2"
0
18.03.2021, 23:22

команда

awk -v replace=' "' -v bo='"' '{gsub(/=/,replace,$0);gsub(";",bo";",$0);print}' file.txt

выход

chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-1";
chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-2";

питон

#!/usr/bin/python
import re
l=open('filename','r')
for i in l:
    print i.strip().replace('=',' "').replace(';','";')

выход

chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-1";
chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-2";
0
18.03.2021, 23:22
$ sed 's/=\([^;]*\)/ "\1"/g' file
chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-1";
chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-2";
0
18.03.2021, 23:22

Теги

Похожие вопросы