Pagina 1 di 1
lettura file con zcat
Inviato: mercoledì 19 aprile 2017, 15:40
da meme_14
Ciao a tutti,
ho dei log in formato .gz e uso lo zcat per decomprimerli.
Voglio leggere il file riga per riga e dopo aver fatto alcune modifiche alle righe creo un nuovo file.
Codice: Seleziona tutto
while read -r line
. do
....modifiche su righe...
done <'zcat nome.log.data'
Mi da il seguente errore sullo zcat: No such a file or directory
Come posso fare?
Grazie mille!
Re: lettura file con zcat
Inviato: mercoledì 19 aprile 2017, 20:33
da crap0101
il
serve per leggere da un file, quello che stai facendo è leggere una stringa.. letteralmente
Nel caso volessi leggere il
risultato del comando
devi usare gli apici inversi per eseguire il `comando` o il $(comando), ma probabilmente non otterresti comunque quello che vuoi (e dovresti usare in ogni caso <<< anzichè < ).
Piuttosto potresti fare una cosa del genere:
Codice: Seleziona tutto
zcat FILE.data | while read line;do MODIFICHE; done | gzip -c > NUOVO_FILE.data
Re: lettura file con zcat
Inviato: giovedì 20 aprile 2017, 8:02
da meme_14
Grazie!
Ora provo con il tuo metodo. Ma lo gzip mi comprimerebbe il file?
Io volevo leggere il file log che è compresso riga per riga. Modifico le righe e poi creo un nuovo file.
Ho trovato su internet che il
Codice: Seleziona tutto
while read -r line
do
...........
done < "$FILENAME"
dovrebbe leggere il file.
Inizialmente avevo messo l'output dello zcat in un nuovo file:
. E facevo il while su questo file e andava correttamente.
Il problema è che creo troppe copie e anche usando il comando rm lo script è troppo lento e non ottimale. Per questo ho sostituito $FILENAME con lo zcat del log per evitare di creare troppe copie.
Grazie ancora!