GNU/Linux >> Linux Esercitazione >  >> Linux

Filtra un file .CSV in base ai valori della quinta colonna di un file e stampa quei record in un nuovo file

awk -F '","'  'BEGIN {OFS=","} { if (toupper($5) == "STRING 1")  print }' file1.csv > file2.csv 

Uscita

"12310","42324564756","a simple string with a , comma","string with or, without commas","string 1","USD","12","70%","08/01/2013",""
"23525","74535243123","string , with commas, and - hypens and: semicolans","string with or, without commas","string 1","CAND","744","70%","05/06/2013",""

Penso che questo sia quello che vuoi.


Il problema con CSV è che non esiste uno standard. Se hai bisogno di gestire spesso i dati in formato CSV, potresti voler esaminare un metodo più affidabile piuttosto che utilizzare semplicemente "," come separatore di campo. In questo caso, Text::CSV di Perl I moduli CPAN sono eccezionalmente adatti al lavoro:

$ perl -mText::CSV_XS -WlanE '
    BEGIN {our $csv = Text::CSV_XS->new;} 
    $csv->parse($_); 
    my @fields = $csv->fields(); 
    print if $fields[4] =~ /string 1/i;
' file1.csv
"12310","42324564756","a simple string with a , comma","string with or, without commas","string 1","USD","12","70%","08/01/2013",""
"23525","74535243123","string , with commas, and - hypens and: semicolans","string with or, without commas","string 1","CAND","744","70%","05/06/2013",""

Linux
  1. La differenza tra .exrc e .vimrc?

  2. Io reindirizzamento e il comando principale?

  3. Stampa il contenuto di una struttura di directory (filesystem) in Csv sulla riga di comando?

  4. emette la seconda colonna di un file

  5. Aggiunta di una colonna di valori in un file delimitato da tabulazioni

Come usare Sudo e il file Sudoers

Come salvare un file in Vim/Vi e uscire dall'editor

Utilizzo di awk per sommare i valori di una colonna, in base ai valori di un'altra colonna

Come posso stampare i valori ASCII (numerici) di ciascun carattere in un file?

Come estrarre un valore (in una specifica riga e colonna) da un file e assegnarlo a una nuova variabile

Modificare l'ordine delle righe in un file