Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Pavel2 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?
-
Namátkou třeba
cut -f 2-3 input.txt > output.txt
-
Třeba takto:
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.
-
A co takto zkusit awk, pane kolego?
;)
-
No a neni to spis TSV, nez CSV?
-
Je to prave SDV a nevim moc jak na to v awk
-
mozna neco podobneho tomuto?:
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'