substr($7,2,4)---> restituisce i primi 4 caratteri, a partire dal 2°, del 7°
campo...
se la data non è il 1° gennaio d'istinto lo fare uno script python, o altro
linguaggio in grado di confrontare direttamente due date, però allora forse
tanto vale caricarlo in un db come dicevi...
Scrap
On 04/28/2015 06:05 PM, MaX wrote:
Grazie.... ma dimenticavo di dire che la data di taglio, non èil primo
dell'anno del 2009, ma qualche cosa tipo:
2009-01-26 18:36
...non capisco il passaggio "substr($7,2,4"
cmq.... sapevo che awk poteva farlo :D
ciao
MaX
Il 28/04/15, Scrap<[email protected]> ha scritto:
Prova a vedere così:
awk -F "," '{ if (substr($7,2,4) >= 2009) print $0 }' file.csv
in questo modo dovrebbe stamparti solo le righe con l'anno maggiore o
uguale a 2009
Il 2015-04-28 14:57 MaX ha scritto:
ciao a tutti,
stavo cercando la miglior soluzione per eliminare da un file csv, le
linee la cui data e ora, indicata in un determinato campo è inferiore
ad un determinato valore.
il file è simile a questo:
"123","456","789","aaaa","bbbbbbb","cccc","2008-06-23
15:15","dddddd","000","123123"
"123","456","789","aaaa","bbbbbbb","cccc","2009-01-01
00:00","dddddd","000","123123"
"123","456","789","aaaa","bbbbbbb","cccc","2008-06-24
12:10","dddddd","000","123123"
vorrei tagliare via le linee che hanno la data inferiore al
"2009-01-01 00:00", e ovviamente non è in ordine di data.
Stavo pensando che si potrebbe riordinare le linee per data,
individuare a che linea comincia il "2009-01-01 00:00" e tagliare
quelle precedenti.
Oppure potrei inserire tutto in un db e con quello risolverei tutti i
problemi....
ma magari c'è qualche asso nella manica con sed o awk...
per esempio potrei creare una espressione regolare tipo
grep -v "\([0-9]*\)-\([0-9]*\)-\([0-9]*\) \([0-9]*\):\([0-9]*\)"
file.csv
...ma ovviamente con questo selezionerei tutte le date e quindi
eliminerei tutte le linee.
Come fare a dire ad una espressione regolare che un numero, deve
essere inferiore o superiore ad un determianto valore?
idee?
ciao,
MaX
--
Per REVOCARE l'iscrizione alla lista, inviare un email a
[email protected] con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a [email protected]
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact
[email protected]
Archive:
https://lists.debian.org/[email protected]
--
Per REVOCARE l'iscrizione alla lista, inviare un email a
[email protected] con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a [email protected]
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: https://lists.debian.org/[email protected]