Hi,
ich muss adressbuecher bearbeiten, leider kommt der delimiter "," auch im Text selbst vor, so dass awk probleme macht.
Hat jemand eine Idee wie ich mit sed oder awk spalten tauschen kann wenn der delimiter auch im text vorkommt ?
Gruss
"xy,kj","bla" in spalten trennen
wenn du die Anführungszeichen berücksichtigst, dann kannst du zwischen "," als Delimiter und "," im Text unterscheiden
z.B. so:
Gruß
gms
z.B. so:
Code: Alles auswählen
gms@gms4:~$ cat x.txt
"xy,kj","bla"
gms@gms4:~$ cat x.txt | perl -ne 'chomp;s/(^\"|\"$)//g;@v=split(/\",\"/);print $v[1],"\t",$v[0],"\n";'
bla xy,kj
gms
...ich will nicht behaupten, dass es elegant ist, aber für dieses Beispiele geht es
...ansonsten müsstest Du noch etwas mehr Beispiele geben.
Gruß fuzzy
Code: Alles auswählen
fuzzy@free:~$ cat x.txt | awk -F '","' '{print$2"\t"$1}' | sed 's/"//g'
bla xy,kj
Code: Alles auswählen
fuzzy@free:~$ cat x.txt | sed 's/"\([^"]*\)","\([^"]*\)"/\2\t\1/'
bla xy,kj
Gruß fuzzy