SED-Umschaltspalten in einer Datei, getrennt durch ,

SED-Umschaltspalten in einer Datei, getrennt durch ,

Ich habe eine Datei mit 65.000 Zeilen, die so aussieht:

Mumford & Sons,Wilder Mind (Deluxe),Believe - Live,02 Oct 2016 10:25            
Mumford & Sons,Wilder Mind (Deluxe),Tompkins Square Park,02 Oct 2016 10:19          
Mumford & Sons,Wilder Mind (Deluxe),Believe,02 Oct 2016 10:16               
Bon Iver,22 A Million,00000 Million,02 Oct 2016 10:06           
Bon Iver,22 A Million,____45_____,02 Oct 2016 10:03         
Bon Iver,22 A Million,8 (circle),02 Oct 2016 09:58          

Ich habe viel probiert, aber ich kriege es nicht hin. Es muss so aussehen:

Mumford & Sons,Believe - Live,Wilder Mind (Deluxe),02 Oct 2016 10:25    

sodass die zweite Spalte mit der dritten vertauscht wird. Gibt es eine einfache Möglichkeit, dies zu tun?

Antwort1

Würde das funktionieren?

awk -F, '{A=$3; $3=$2; $2=A; print}' OFS=, yourfile

Bedeutet im Wesentlichen -F, dass Sie die Spalten durch trennen ,, der Textkörper die 2. mit der 3. Spalte vertauscht und Ihnen dann printdie geänderte Zeile angezeigt wird.

Antwort2

sed -r 's/(.*),(.*),(.*),(.*)/\1,\3,\2,\4/' file

Mumford & Sons,Believe - Live,Wilder Mind (Deluxe),02 Oct 2016 10:25            
Mumford & Sons,Tompkins Square Park,Wilder Mind (Deluxe),02 Oct 2016 10:19          
Mumford & Sons,Believe,Wilder Mind (Deluxe),02 Oct 2016 10:16               
Bon Iver,00000 Million,22 A Million,02 Oct 2016 10:06           
Bon Iver,____45_____,22 A Million,02 Oct 2016 10:03         
Bon Iver,8 (circle),22 A Million,02 Oct 2016 09:58   

verwandte Informationen