Ondersteuning > Programmeren

awk probleempje

(1/2) > >>

BaukeP:
Hallo,
Ik heb een bestand met (bijna) alle dagen van de laatste jaren. Datum in veld 1 bv. 2017-05-17.
Ik zoek een snelle manier om van alle maanden en alle jaren het eerste record van de maand en het laatste record van de maand te krijgen.
Dus het gewenste resultaat moet worden:
2017-01-01 veld2 veld3
2017-01-31 veld2 veld3
2017-02-01 veld2 veld3
2017-02-28 veld2 veld3
etc.

Het zou toch met een redelijk eenvoudig awk script te doen moeten zijn, maar ik krijg het even niet voormekaar.
Graag wat hulp en uiteraard bij voorbaat dank

Bauke

bart85:
$2 is de tweede kolom, die na de datum komt.
$NF is de laatste kolom.

Als het zo niet werkt dan moet je de field separator aangeven.

BaukeP:
Niet duidelijk genoeg geweest begrijp ik.
De in het vorige bericht genoemde regels is het gewenste resultaat. Ik wil dus alle andere regels niet geselecteerd (geprint) hebben. En de selectie moet uiteraard op het eerste veld.
Hoe selecteer ik (liefst met awk) de gewenste regels?

Ik hoop dat dit helpt.

bart85:
Hier kun je een regex gebruiken.

Het volgende filtert alle data van de eerste van de maand:


--- Code: ---grep '^[0-9]*-[0-9]*-01' textfile
--- Einde van code ---

Voor de laatste van de maand zul je hem moeten aanpassen.

BaukeP:
Dankjewel!

Navigatie

[0] Berichtenindex

[#] Volgende pagina

Naar de volledige versie