Использование Bash для замены первой и второй колонны в CSV

Загрузитесь с DVD / загрузочной ручки USB и очистите водитель. В зависимости от метода установки он должен быть в

/lib/modules/your_kernel_version/updates/dkms 

или

/lib/modules/your_kernel_version/kernel/drivers/video

. Или же загрузитесь с той же версией, которую вы используете, смонтируйте ее, выполните chroot и деинсталлируйте пакет.

Оставьте две разные версии ядра установленными, чтобы иметь альтернативное ядро, которое можно выбрать в grub во время экспериментов с ядром.

3
06.08.2018, 23:22
3 ответа

Вот так:

awk -F, '{ print $2 "," $1 }' sampleData.csv 
9
27.01.2020, 21:09

Поскольку разделителем по умолчанию является пробел/табуляция. Не запятая. Взяв исходный код и добавив -F,, вы его решаете.

$ awk -F, ' { t = $1; $1 = $2; $2 = t; print; } ' /tmp/2016_logins.csv
day num_logins
2016-07-01  253
2016-07-02  127
$

Сокращение до {$0=$2" "$1}1дает тот же результат.

$ awk -F, '{$0=$2" "$1}1' /tmp/2016_logins.csv
day num_logins
2016-07-01  253
2016-07-02  127
$
6
27.01.2020, 21:09

В этом ответе используетсяxsvвместо awk, но это полезно, если у вас много столбцов:

xsv cat columns <(xsv select 1-4,6- input.csv) <(xsv select 5 input.csv) > output.csv
1
06.01.2021, 21:00

Теги

Похожие вопросы