У меня есть большая таблица (миллионы строк на сотни столбцов, разделенных табуляцией), первые три столбца выглядят так:
GT:DS:GP 0|0:0.181:0.827,0.165,0.008 0|0:0.181:0.827,0.165,0.008 0|0:0.181:0.827,0.165,0.008
GT:DS:GP 0|0:0.109:0.894,0.103,0.003 0|0:0.109:0.894,0.103,0.003 0|0:0.109:0.894,0.103,0.003
GT:DS:GP 0|0:0.004:0.996,0.004,0.000 0|0:0.004:0.996,0.004,0.000 0|0:0.004:0.996,0.004,0.000
GT:DS:GP 0|0:0.117:0.886,0.110,0.003 0|0:0.117:0.886,0.110,0.003 0|0:0.117:0.886,0.110,0.003
Все остальные столбцы выглядят как столбцы 2 и 3. Мне нужен новый файл, основанный на первом файле, без текста, который идет после второго двоеточия (:). Вывод должен выглядеть следующим образом:
GT:DS 0|0:0.181 0|0:0.181 0|0:0.181
GT:DS 0|0:0.109 0|0:0.109 0|0:0.109
GT:DS 0|0:0.004 0|0:0.004 0|0:0.004
GT:DS 0|0:0.117 0|0:0.117 0|0:0.117
Я чувствую, что это может быть что-то похожее на то, что я нашел в этом посте , но, очевидно, команда выхода говорит ему остановиться после первого вхождения, поэтому оно не работает с несколькими вхождениями ( в несколько строк / столбцов) ...
awk -v RS=':' -v ORS=':' 'NR==1{print} NR==2{print; printf"\n";exit}' input > output
Результат этой неудачной попытки:
GT:DS:
Заранее спасибо за помощь!