Как добавить столбец в определенную позицию в файле csv с помощью cat, sed, awk или cut?

Некоторые аудиокодеки (чипы), используемые в Chromebook, поддерживаются в последних версиях ядра, а некоторые до сих пор не поддерживаются. Вы должны проверить, есть ли более свежее ядро, так как 3.8 очень оченьстарое (это основной недостаток использования Chromebook на базе ARM).

Обходные пути включают использование Bluetooth A2DP или аудиоключей/звуковых карт/ЦАП USB.

0
06.08.2016, 05:25
2 ответа

Ниже приводится команда sed для достижения результата:

sed '1s/\(.*,\)\([^,]*\)$/\1col3,\2/;
     2,$s/\(.*,\)\([^,]*\)$/\1,\2/' file.csv

Эта команда находит последние , в line и заменяет его на

  • col3, в первой строке
  • , во всех остальных строках

Эта команда просто выводит требуемый вывод в stdout . Если вы хотите отредактировать файл на месте, укажите переключатель -i в приведенной выше команде.

2
28.01.2020, 02:27
$ awk 'BEGIN { FS=","; OFS=",\t" };
       FNR == 1 { print $1,$2,"col3","col4" };
       FNR  > 1 { print $1,$2,"\t",$3 }' file.csv 
col1,    col2,  col3,   col4
1,      1,      ,       1
2,      2,      ,       2
3,      3,      ,       3
4,      4,      ,       4
1
28.01.2020, 02:27

Теги

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