Re: escludere linee in base alla data

2015-04-28 Per discussione issdr
MaX wrote:

 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,,bbb,,2008-06-23 
 15:15,dd,000,123123
 123,456,789,,bbb,,2009-01-01 
 00:00,dd,000,123123
 123,456,789,,bbb,,2008-06-24 
 12:10,dd,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.

awk -F\,\ '{if ($7  2009-01-01 00:00) print}' prova.csv


ciao

-- 
  np: no song


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/87y4lbg8bp@id-313311.news.uni-berlin.de



escludere linee in base alla data

2015-04-28 Per discussione MaX
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,,bbb,,2008-06-23
15:15,dd,000,123123
123,456,789,,bbb,,2009-01-01
00:00,dd,000,123123
123,456,789,,bbb,,2008-06-24
12:10,dd,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
debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/caeyavmuags22nkgpdasrnhmr9zz79w0dvf+-kz7dlktubua...@mail.gmail.com



Re: escludere linee in base alla data

2015-04-28 Per discussione MaX
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, Scrapsc...@inventati.org 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,,bbb,,2008-06-23
 15:15,dd,000,123123
 123,456,789,,bbb,,2009-01-01
 00:00,dd,000,123123
 123,456,789,,bbb,,2008-06-24
 12:10,dd,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
 debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per
 problemi inviare un email in INGLESE a listmas...@lists.debian.org

 To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact
 listmas...@lists.debian.org
 Archive:
 https://lists.debian.org/13ffc6a75b3814263becdea1cfed1...@inventati.org




-- 
ciao,
MaX


--
Per REVOCARE l'iscrizione alla lista, inviare un email a
debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/caeyavmv53dpviwyong2vmvy0vm_f8vm541db3cl5lgjecvf...@mail.gmail.com



Re: escludere linee in base alla data

2015-04-28 Per discussione Scrap

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, Scrapsc...@inventati.org 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,,bbb,,2008-06-23
15:15,dd,000,123123
123,456,789,,bbb,,2009-01-01
00:00,dd,000,123123
123,456,789,,bbb,,2008-06-24
12:10,dd,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
debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact
listmas...@lists.debian.org
Archive:
https://lists.debian.org/13ffc6a75b3814263becdea1cfed1...@inventati.org







--
Per REVOCARE l'iscrizione alla lista, inviare un email a 
debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per

problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/553fb992.7020...@inventati.org



Re: escludere linee in base alla data

2015-04-28 Per discussione Scrap

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,,bbb,,2008-06-23
15:15,dd,000,123123
123,456,789,,bbb,,2009-01-01
00:00,dd,000,123123
123,456,789,,bbb,,2008-06-24
12:10,dd,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 
debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per

problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/13ffc6a75b3814263becdea1cfed1...@inventati.org