[RISOLTO] Aiuto per script: estrazione campi con grep
Inviato: ven 22 feb 2008, 16:42
Mi avvicino piano piano alla programmazione e i miei requisiti sono veramente prossimi allo zero, quindi scusatemi se utilizzero' termini a casaccio.
Il mio problema.
Devo estrarre da un file di testo solo delle righe contenenti solo determinati caratteri. Per ora ho usato grep' e funziona. Nel caso particolare
Il problema nasce quando mi trovo in un'altra situazione. Mi servirebbe estrarre delle righe che contnegono campi fatti in questa maniera
cioe' N seguito da 6 spazi ed una cifra. Finora ho fatto a mano
e poi ho unito tutti i file con
So che non e' il massimo ma almeno funziona. Solo che volevo in quante modo automatizzare la procedura con un ciclo (non so quale).
La situazione ad un certo punto pero' si complica perche', quando le cifre diventano due, gli spazi tra N e il numero diventano cinque e non piu' sei. Ad esempio ho "N 10" -----> N -cinque spazi- 10. Il numero che segue N puo' arrivare fino a 99.
Stessi problemi quando N invece non e' seguito da nessun altro numero. Se do "grep N" mi torna, ovviamente, tutte le righe che contengono almeno una N, tra cui anche le HN dell'esempio precedente.
Come faccio?
Se riuscite a darmi qualche dritta, magari commentata cosi' forse riesco ad imparare dai miei errori.
Grazie mille.
PS: qualsiasi linguaggio mi va bene, anche se preferirei uno shell script
Il mio problema.
Devo estrarre da un file di testo solo delle righe contenenti solo determinati caratteri. Per ora ho usato grep' e funziona. Nel caso particolare
Codice: Seleziona tutto
grep "HN" 18-02 > HN.txt
Codice: Seleziona tutto
N 1
N 2
Codice: Seleziona tutto
grep "N 1" 18-02 > N1.txt
grep "N 2" 18-02 > N2.txt
Codice: Seleziona tutto
cat N1.txt N2.txt > N.txt
La situazione ad un certo punto pero' si complica perche', quando le cifre diventano due, gli spazi tra N e il numero diventano cinque e non piu' sei. Ad esempio ho "N 10" -----> N -cinque spazi- 10. Il numero che segue N puo' arrivare fino a 99.
Stessi problemi quando N invece non e' seguito da nessun altro numero. Se do "grep N" mi torna, ovviamente, tutte le righe che contengono almeno una N, tra cui anche le HN dell'esempio precedente.
Come faccio?
Se riuscite a darmi qualche dritta, magari commentata cosi' forse riesco ad imparare dai miei errori.
Grazie mille.
PS: qualsiasi linguaggio mi va bene, anche se preferirei uno shell script