PDA

Visualizza la versione completa : cercare stringa in file CSV


alkat
02-03-2006, 21:32
Ciao,
qualche tempo fa Cacao74 mi ha consigliato questo comando per cercare delle parole nei file contenuti in una determinata directory:


grep -R 'STRINGA' PERCORSO | awk -F: ' { print $1 FS "\n\t" $2 } '

Funziona benissimo, ma ha un limite: non effettua la ricerca nei file CSV. È possibile modificarlo per fargli cercare determinati termini in uno di questi file?

Grazie,
.a.

U-bahn
02-03-2006, 22:50
se hai un albero di directory scaricato da cvs


grep -i 'stringa' `find 'dir' | grep (-v) 'stringa_file/dir'`

man grep per il significato dell'opzione -v :)

alkat
03-03-2006, 15:37
Originariamente inviato da U-bahn
se hai un albero di directory scaricato da cvs

Intendevo un file Comma Separated Values.

Dovrebbero essere dei semplici file di testo, no? E quindi lo script di Cacao74 dovrebbe bastare... e invece no!

Sono file dei glossari Microsoft e, curiosamente, quando li apro con Kwrite o altro editor di testo, il programma mi avverte che sono file binari... Forse sono stati protetti in qualche modo?


.a.

U-bahn
03-03-2006, 18:08
Originariamente inviato da alkat
Intendevo un file Comma Separated Values.
ti chiedo scusa, avevo letto cvs e pensavo tu volessi compiere la ricerca in tutti i file nascosti che vengono creati da cvs :fagiano:


Dovrebbero essere dei semplici file di testo, no? E quindi lo script di Cacao74 dovrebbe bastare... e invece no!in realtà sì, dovrebbe...:bhò:

alkat
03-03-2006, 20:51
Originariamente inviato da U-bahn
ti chiedo scusa, avevo letto cvs e pensavo tu volessi compiere la ricerca in tutti i file nascosti che vengono creati da cvs :fagiano:

in realtà sì, dovrebbe...:bhò:

Ho dovuto scomodare un ingegnere della Sun per capire il trucco... I file infatti mi servono per un lavoro su OOo e quindi ho potuto chiedere consiglio direttamente a uno della Sun che mi ha banalmente spiegato che sono file con codifica UTF16 che molti editor interpretano male.

Mi ha consigliato di processarli in questo modo (caso mai servisse a qualcun altro):

$ iconv -f UTF16LE -t UTF8 file1.csv > file1.utf8.csv

Non ho ancora provato, ma mi auguro che funzioni!

.a.

Loading