Mam duży plik z setkami kolumn, z których chcę usunąć tylko trzecią i czwartą kolumnę i wydrukować resztę do pliku. Moim początkowym pomysłem było utworzenie skryptu awk, takiego jak awk '{print $1, $2, for (i=$5; i <= NF; i++) print $i }' file > outfile
. Jednak ten kod nie działa.wydrukuj wszystkie, ale wybierz pola w awk
Następnie próbowałem:
awk '{for(i = 1; i<=NF; i++)
if(i == 3 || i == 4) continue
else
print($i)}' file > outfile
ale to tylko drukowany wszystko w jednym polu. Byłoby możliwe podzielenie tego na dwa skrypty i połączenie ich z Uniksem paste
, ale wydaje się, że to coś, co powinno być możliwe do zrobienia w jednym wierszu.
Mam kilka funkcji filtrowania kolumny awk tutaj, jeśli jesteś zainteresowany https://github.com/mhitza/inflated-shell/blob/master/ src/filters/input/column – mhitza