CSV rozdělený tabulátory

Pavel2

CSV rozdělený tabulátory
« kdy: 15. 08. 2014, 11:39:40 »
Ahoj,

mam CSV ktere je rozdeleno pomoci tabulatoru. V loopu se ho snazim "delimitovat", ale neuspesne.
V CSV jsou 3 sloupce. Polozku ze sloupce se snazim sosnout do promene pomoci

tmp1=`echo $line | cut -f1` nebo cut -f1 -s a ani jedno z toho nefunguje ... ale pokud udelam cut -f 1 $ile tak dostanu vsechny hodnoty v prnim sloupci. Jenomze ja potrebuju poresit kazdej radek tak ze jej rozdelim do promennych a ty pak ulozim do DB. Muze nekdo pomoct?
« Poslední změna: 15. 08. 2014, 11:54:50 od Petr Krčmář »


Bla

Re:CVS rozdeleny pomoci tabu
« Odpověď #1 kdy: 15. 08. 2014, 11:47:40 »
Namátkou třeba

cut -f 2-3 input.txt > output.txt

David1234

Re:CSV rozdělený tabulátory
« Odpověď #2 kdy: 15. 08. 2014, 12:33:49 »
Třeba takto:

Kód: [Vybrat]
cat file.csv | while read -r first second  bla
do
    echo "$first $second $bla"
done

Pokud by to nešlapalo, tak nastavit IFS na tabulátor.

Re:CSV rozdělený tabulátory
« Odpověď #3 kdy: 15. 08. 2014, 14:16:31 »
A co takto zkusit awk, pane kolego?
 ;)

jehovista

Re:CSV rozdělený tabulátory
« Odpověď #4 kdy: 15. 08. 2014, 14:58:39 »
No a neni to spis TSV, nez CSV?


Pavel2

Re:CSV rozdělený tabulátory
« Odpověď #5 kdy: 15. 08. 2014, 17:34:47 »
Je to prave SDV a nevim moc jak na to v awk

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:CSV rozdělený tabulátory
« Odpověď #6 kdy: 15. 08. 2014, 17:54:43 »
mozna neco podobneho tomuto?:

Kód: [Vybrat]
bash-3.1$ t="a\t1\t2\nb\t3\t4"; echo -e "$t"; echo -e "$t" | awk -F $'\t' '{print "INSERT bla bla bla \"" $1 "\" meh " $2 " boo '\''" $3 "'\''"}'
a       1       2
b       3       4
INSERT bla bla bla "a" meh 1 boo '2'
INSERT bla bla bla "b" meh 3 boo '4'