У меня есть табуляция файл TAHT выглядит следующим образом:Extract несколько полей, которые содержат определенные слова
locus_tag="PSE_0001" codon_start=1 transl_table=11 product="Peptidase M23 M37 family protein" protein_id="AEV34513.1" db_xref="GI:359341139" translation="MVDSLASSSDQPARLNGRWLIGTILTGMTSMVLMGGALMAALDGQYTYKTAKAPASNAADLTPQRNTSGKGDRLTSATDGFSNRQIIEVNTVTRSEGRDHVKAKPYALVSASLESFKKQETAADIPPFDPITMYQGEQVAPLQVASDAIYGADIEGEVSISQRDFPLEAMSMVALPDHKEEAVQQQVKKAAMFMLDNSTDIAAIPSVEDINAGFAPLSEQSFENIEVRITEENVSFQPKSRKTTQANQIEERIVPILTQTDFIDILLDGEASETEAEGYIKAFTDNFGIDTIKAGQIFRLSLNTDQIEEDDGILVRVSIYEDQRHVGTIARNDEGEFVVAPEPTTQMAADAFNSQQQNSVGPRATYYDSIYQTGLDNEVPSSLIKELIRIYSYSVDFNASVKSGDEMSVFYGLDADQTTGASEILYTSITVNGRSHRFYRFRTPDDGVVDYYDENGQSAKQFLLRKPIAAGRFTSGFGMRRHPVLKTRRLHTGTDWAAPRGTAIFAAGDGVIQKAAWSGGYGKRVEIKHANGYVTTYNHMTRFATGIQKGQRIRQGTVIGYVGTTGLSTGNHLHYEVKVNGRFVNSLKIKVPQGRVLEAQVLENFKRERDRINALMETGRPSQRVASLRN" GenBank_acc="CP003147"; Source="Pseudovibrio sp. FO-BEG1"; feature_type="CDS"; strand="+";
locus_tag="PSE_0002" codon_start=1 transl_table=11 product="hypothetical protein" protein_id="AEV34514.1" db_xref="GI:359341140" translation="MENVLIYLVGFAGTGKLTIARALAEATSAKVVDNQWINNPIFGLLDHDRLTPYPEGVWRQIDKVREAVLETVATLGAPHASYIFTHEGFEDDASDRQIYEAIRETAQRRKARFLPVRLLCNEDEIAKRVVSPERALRLKSMDPERSRNAVRNSTVLKPNHENELTLDISDKQPADVVVLILEQVAHCKT" GenBank_acc="CP003147"; Source="Pseudovibrio sp. FO-BEG1"; feature_type="CDS"; strand="-";
Я хотел бы извлечь только те поля, которые содержат конкретную информацию:
например
locus_tag
product
Чтобы получить следующие вкладки разделителями результата
locus_tag="PSE_0001" product="Peptidase M23 M37 family protein"
locus_tag="PSE_0002" product="hypothetical protein"
Я попробовал этот AWK код:
awk '{for(i=1;i<=NF;i++)if ($i~/^locus_tag|^product|db_xref/) print $i}' Chrom.txt| head
Но я получил:
locus_tag="PSE_0001"
codon_start=1
transl_table=11
product="Peptidase
M23
M37
family
protein"
db_xref="GI:359341139"
Любое предложение, как я могу исправить мой код?
'grep -Po '(? <= Product =") [^ "] *' file' также предоставит данные. – fedorqui