SED는 다음으로 구분된 파일의 열을 전환합니다.

SED는 다음으로 구분된 파일의 열을 전환합니다.

다음과 같은 65,000줄의 파일이 있습니다.

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   

관련 정보