SED 在一個檔案中切換由 , 分隔的列

SED 在一個檔案中切換由 , 分隔的列

我有一個包含 65k 行的文件,如下所示:

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          

我已經嘗試了很多,但我無法完成。我需要它看起來像這樣:

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

這樣第二列就會與第三列交換。有什麼簡單的方法可以做到這一點嗎?

答案1

這行得通嗎?

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

基本上-F就是說你用 分隔列,,主體切換第二列和第三列,然後print修改行。

答案2

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   

相關內容