Как добавить новый столбец в файл - PullRequest
1 голос
/ 05 октября 2010

У меня есть такой файл, который содержит 5 столбцов.Но некоторые строки в моем файле по ошибке содержат 4 столбца, например, в этом файле в 5-й и 6-й строках видно, что второй столбец отсутствует.Я хочу заменить отсутствующий 2-й столбец пробелом, не нарушая другие строки в моем файле разделителем полей ",".

11111,5323,6296,29-May-2010,1
22222,5323,6296,24-May-2010,1
33333,5323,6296,24-Jun-2010,1
44444,5323,6296,24-Jun-2010,1
55555,8061,15-Jul-2010,1
66666,6296,29-May-2010,1
77777,5323,6296,29-May-2010,1
88888,6296,29-May-2010,1
99999,6296,27-May-2010,1
10101,5323,6296,29-May-2010,1

Вывод, который мне нужен.

11111,5323,6296,29-May-2010,1
22222,5323,6296,24-May-2010,1
33333,5323,6296,24-Jun-2010,1
44444,5323,6296,24-Jun-2010,1
55555,,8061,15-Jul-2010,1
66666,,6296,29-May-2010,1
77777,5323,6296,29-May-2010,1
88888,,6296,29-May-2010,1
99999,,6296,27-May-2010,1
10101,5323,6296,29-May-2010,1

Ответы [ 3 ]

1 голос
/ 05 октября 2010

короткий путь

awk -F"," 'NF<5{sub(",",",,")}1' file
1 голос
/ 05 октября 2010
BEGIN{
    FS=","
}

NF==5 { print; }
NF==4 { printf("%s,,%s,%s,%s\n", $1, $2, $3, $4); }
0 голосов
/ 05 октября 2010

Используя Vim, я бы ввел следующую строку в Ex-Mode: :% s / ^ (\ d +), (\ d +, \ d + - \ w + - \ d +, \ d) $ / \ 1, \ 2 / g

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...