У меня есть следующие строки, разделенные табуляцией.
NIATv7_g10470.t1 XP_019227081.1 100.0 878 0 0 1 878 1 878 0.0e+00 1599.7 99.9 MELKVSSPKPVFSTSDCNSDPEEKEISEDXXXXXXXXXXXXXTRSQSTETEALEPALRRPFRKRNKPFENGHPYQEGDSHSSDTRFGKRRGMGSFSRTPSDSYQMMRLNQSLSGHAAPGRGRGRESGAWGPCESRFSTIDIASQFVPQGPINPLLYTGRGPQNVSSGQGASWNAFGIVPGIPNGGLDTLHTLGLQGRLRTSLNPAMSMGIPRQRCRDFEERGFCLRGDMCPLEHGVNRIVVEDVQSLSKFNLPVSLPGAHTLGPATAQGPLPAISPSSSLANKALHNKSINPPVIDNGLGLTDTFGGGSVSGGADFYDPDQPLWSNDHPENSAALLDVNRSKIDDTGPMLDADSSDQDQVALCDGFKLERLVRDAGAASGSQSVWERTSRSKHKLQSFNSTQGINRHGKQTNVDTIDPQMVESSSEPQSSSGRNMRKPSQKALRTLFVSGVPQKDNKPEALLSHFQKFGEVIDIYIPMNGERAFVQFSKREEAEAALKAPDAVMGNRFIKLFWANRDSIMDNGTSGSSIFPLAPRGGTPSTVPPHLLFPHKRKDNLQTVAGKTAEQACGSVTVAPLATSDLPKPVAQNGLKTTPPLKKKLETLELLKEEMRXXXXXXXXXXXXXXXXXXXXXKQAVGVKDEAAPDQAMNKPKGGGTVSNSGXXXXXXXXXXXXXXXXXXXXXXXXXSRSTENAEPTCSKLSLTVAMHEASNLKQSIRPLAPVGAPFILNRYKLDNRPTTFKILPPLPSALANVDVLKEHFSTFGDPPSVELEDLEPKDCNDGSEVQNTSARISFRSRRSAERAFLNGKSWQGQILQLMWVQSSNPAKDVGVGENVTPASKQPSDANGQSNARNGVAGLPEGSVAGNHEPDNQGRREDE MELKVSSPKPVFSTSDCNSDPEEKEISEDXXXXXXXXXXXXXTRSQSTETEALEPALRRPFRKRNKPFENGHPYQEGDSHSSDTRFGKRRGMGSFSRTPSDSYQMMRLNQSLSGHAAPGRGRGRESGAWGPCESRFSTIDIASQFVPQGPINPLLYTGRGPQNVSSGQGASWNAFGIVPGIPNGGLDTLHTLGLQGRLRTSLNPAMSMGIPRQRCRDFEERGFCLRGDMCPLEHGVNRIVVEDVQSLSKFNLPVSLPGAHTLGPATAQGPLPAISPSSSLANKALHNKSINPPVIDNGLGLTDTFGGGSVSGGADFYDPDQPLWSNDHPENSAALLDVNRSKIDDTGPMLDADSSDQDQVALCDGFKLERLVRDAGAASGSQSVWERTSRSKHKLQSFNSTQGINRHGKQTNVDTIDPQMVESSSEPQSSSGRNMRKPSQKALRTLFVSGVPQKDNKPEALLSHFQKFGEVIDIYIPMNGERAFVQFSKREEAEAALKAPDAVMGNRFIKLFWANRDSIMDNGTSGSSIFPLAPRGGTPSTVPPHLLFPHKRKDNLQTVAGKTAEQACGSVTVAPLATSDLPKPVAQNGLKTTPPLKKKLETLELLKEEMRXXXXXXXXXXXXXXXXXXXXXKQAVGVKDEAAPDQAMNKPKGGGTVSNSGXXXXXXXXXXXXXXXXXXXXXXXXXSRSTENAEPTCSKLSLTVAMHEASNLKQSIRPLAPVGAPFILNRYKLDNRPTTFKILPPLPSALANVDVLKEHFSTFGDPPSVELEDLEPKDCNDGSEVQNTSARISFRSRRSAERAFLNGKSWQGQILQLMWVQSSNPAKDVGVGENVTPASKQPSDANGQSNARNGVAGLPEGSVAGNHEPDNQGRREDE MELKVSSPKPVFSTSDCNSDPEEKEISEDXXXXXXXXXXXXXTRSQSTETEALEPALRRPFRKRNKPFENGHPYQEGDSHSSDTRFGKRRGMGSFSRTPSDSYQMMRLNQSLSGHAAPGRGRGRESGAWGPCESRFSTIDIASQFVPQGPINPLLYTGRGPQNVSSGQGASWNAFGIVPGIPNGGLDTLHTLGLQGRLRTSLNPAMSMGIPRQRCRDFEERGFCLRGDMCPLEHGVNRIVVEDVQSLSKFNLPVSLPGAHTLGPATAQGPLPAISPSSSLANKALHNKSINPPVIDNGLGLTDTFGGGSVSGGADFYDPDQPLWSNDHPENSAALLDVNRSKIDDTGPMLDADSSDQDQVALCDGFKLERLVRDAGAASGSQSVWERTSRSKHKLQSFNSTQGINRHGKQTNVDTIDPQMVESSSEPQSSSGRNMRKPSQKALRTLFVSGVPQKDNKPEALLSHFQKFGEVIDIYIPMNGERAFVQFSKREEAEAALKAPDAVMGNRFIKLFWANRDSIMDNGTSGSSIFPLAPRGGTPSTVPPHLLFPHKRKDNLQTVAGKTAEQACGSVTVAPLATSDLPKPVAQNGLKTTPPLKKKLETLELLKEEMRXXXXXXXXXXXXXXXXXXXXXKQAVGVKDEAAPDQAMNKPKGGGTVSNSGXXXXXXXXXXXXXXXXXXXXXXXXXSRSTENAEPTCSKLSLTVAMHEASNLKQSIRPLAPVGAPFILNRYKLDNRPTTFKILPPLPSALANVDVLKEHFSTFGDPPSVELEDLEPKDCNDGSEVQNTSARISFRSRRSAERAFLNGKSWQGQILQLMWVQSSNPAKDVGVGENVTPASKQPSDANGQSNARNGVAGLPEGSVAGNHEPDNQGRREDE* MELKVSSPKPVFSTSDCNSDPEEKEISEDDDDDRNHKHRRKDTRSQSTETEALEPALRRPFRKRNKPFENGHPYQEGDSHSSDTRFGKRRGMGSFSRTPSDSYQMMRLNQSLSGHAAPGRGRGRESGAWGPCESRFSTIDIASQFVPQGPINPLLYTGRGPQNVSSGQGASWNAFGIVPGIPNGGLDTLHTLGLQGRLRTSLNPAMSMGIPRQRCRDFEERGFCLRGDMCPLEHGVNRIVVEDVQSLSKFNLPVSLPGAHTLGPATAQGPLPAISPSSSLANKALHNKSINPPVIDNGLGLTDTFGGGSVSGGADFYDPDQPLWSNDHPENSAALLDVNRSKIDDTGPMLDADSSDQDQVALCDGFKLERLVRDAGAASGSQSVWERTSRSKHKLQSFNSTQGINRHGKQTNVDTIDPQMVESSSEPQSSSGRNMRKPSQKALRTLFVSGVPQKDNKPEALLSHFQKFGEVIDIYIPMNGERAFVQFSKREEAEAALKAPDAVMGNRFIKLFWANRDSIMDNGTSGSSIFPLAPRGGTPSTVPPHLLFPHKRKDNLQTVAGKTAEQACGSVTVAPLATSDLPKPVAQNGLKTTPPLKKKLETLELLKEEMRKKQEMLEQKRNEFRRKLDKLEKQAVGVKDEAAPDQAMNKPKGGGTVSNSGKVENSSPVEPSNTVSSPPSEATPDSSRSTENAEPTCSKLSLTVAMHEASNLKQSIRPLAPVGAPFILNRYKLDNRPTTFKILPPLPSALANVDVLKEHFSTFGDPPSVELEDLEPKDCNDGSEVQNTSARISFRSRRSAERAFLNGKSWQGQILQLMWVQSSNPAKDVGVGENVTPASKQPSDANGQSNARNGVAGLPEGSVAGNHEPDNQGRREDE XP_019227081.1 PREDICTED: zinc finger CCCH domain-containing protein 41-like [Nicotiana attenuata]
Я использовал эту команду awk, чтобы упростить приведенную выше строку:
> awk 'BEGIN { FS = "\t" } ;{print $1","$18}' NIATT_r2.0.aa.combined_nr_XPonly.best_hit_addNoXP | head
NIATv7_g10470.t1,XP_019227081.1 PREDICTED: zinc finger CCCH domain-containing protein 41-like [Nicotiana attenuata]
Я хотел бы разделить $18
для первого вхождения пробела.
XP_019227081.1 PREDICTED: zinc finger CCCH domain-containing protein 41-like [Nicotiana attenuata]
Вывод этого разделения, который я хотел бы поменять местами и разделить табуляцией.
PREDICTED: zinc finger CCCH domain-containing protein 41-like [Nicotiana attenuata] XP_019227081.1
В качестве окончательного результата я хотел бы объединить $1
с обратным результатом разделения, чтобы получить следующий результат:
NIATv7_g10470.t1,PREDICTED: zinc finger CCCH domain-containing protein 41-like [Nicotiana attenuata] XP_019227081.1
Как это возможно?
Похоже, ваш исходный файл разделен комбинацией пробелов и табуляций. Просто оставьте
FS
по умолчанию (не устанавливайте его), и он будет разбиваться на пробелы, включая пробелы или табуляции. Например, по умолчанию$1
равноNIATv7_g10470.t1
, а$18
равноXP_019227081.1
($19
равноPREDICTED:
).Извините, я обновил входной файл в своем вопросе.
Не могли бы вы просто сказать на простом английском, что вы хотели бы, пожалуйста, чтобы мне не пришлось прокручивать вправо до Японии и запоминать 20 странных (для меня) полей. Спасибо.
Что-то вроде этого, что вы просите?
awk '{print $1","$19,$20,$21,$22,$23,$24,$25,$26,$NF"\t\t"$18}'
Извините, за путаницу. Я обновил свой вопрос.