Jede n-te Spalte auslesen, bzw bestimmte Spalten ausschließen

Antworten
Nachricht
Autor
paradox13371ftw
Beiträge: 1
Registriert: 15. Mär 2014 16:02

Jede n-te Spalte auslesen, bzw bestimmte Spalten ausschließen

#1 Beitrag von paradox13371ftw » 15. Mär 2014 16:12

Moin, habe ne Datei von der ich nur jede n-te spalte auslesen möchte, bzw löschen möchte (konstant jede dritte Spalte soll raus um genau zu sein). Die Spalten die raus sollen fangen auch alle mit dem gleichen Wert an.

Habe es jetzt provisorisch mal mit "cut -f Spalte1, Spalte2, Spalte4, Spalte5" usw probiert aber das ist ja keine Dauerlösung. Mit awk oder grep blick ich da im Moment nicht durch. Hat da zufällig jemand ne einfache Lösung parat ?

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 15. Mär 2014 22:02

Code: Alles auswählen

awk '&#123;for &#40;c=1;c<NF;c=c+1&#41; &#123;if &#40;&#40;c%3&#41;==1&#41; &#123;printf&#40;"%s ", $c&#41;;&#125;&#125; printf&#40;"\n"&#41;;&#125;'
druckt jedes dritte Feld, beginnend mit dem ersten. Der Trick ist der Modulo-Operator %.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Antworten