
У меня есть файл с 65 тыс. строк, который выглядит примерно так:
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
, вы разделяете столбцы ,
, тело меняет местами 2-й и 3-й столбцы, а затем вы 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