Я пытаюсь получить некоторую информацию из моего файла, используя awk и sed, но не знаю, как заставить это работать.
Вот мои данные выглядят так:
00020dfa-549d-43e4-877d-d3dcbc212fe5 Pleosporales_sp|HE820879|SH1523966.08FU|reps|k__Fungi;p__Ascomycota;c__Dothideomycetes;o__Pleosporales;f__unidentified;g__unidentified;s__Pleosporales_sp 90.099 707 1680 1195 39 24
И ожидаемый результат такой:
00020dfa-549d-43e4-877d-d3dcbc212fe5 k__Fungi; p__Ascomycota; c__Dothideomycetes; o__Pleosporales; f__unidentified; g__unidentified; s__Pleosporales_sp
Итак, в основном, я хочу получить данные только для первых двухстолбцы, а во втором столбце я хочу только информацию, начиная с k с табуляции после всех ";".
Я попробовал код, как показано ниже:
awk -F"\t" '{print $1, $2}' infile.tab |
sed -e '|' -e '|' -e '|' -e '|' -e 'D' > outfile.tab
Но не смог получить ожидаемый результат.Буду признателен, если кто-нибудь даст мне совет!