У меня есть CSV-файл, в котором некоторые столбцы пусты, например
oski14,safe,0,13,53,4
oski15,Unknow,,,,0
oski16,Unknow,,,,0
oski17,Unknow,,,,0
oski18,unsafe,0.55,,1,2
oski19,unsafe,0.12,4,,56
Как заменить все пустые столбцы словом «пустой». Я пытался использовать awk (это команда, которую я учусь использовать).
Я хочу получить
oski14,safe,0,13,53,4
oski15,Unknow,empty,empty,empty,0
oski16,Unknow,empty,empty,empty,0
oski17,Unknow,empty,empty,empty,0
oski18,unsafe,0.55,empty,1,2
oski19,unsafe,0.12,4,empty,56
Я попытался заменить только 3-й столбец, чтобы посмотреть, был ли я на правильном пути
awk -F '[[:space:]]' '$2 && !$3{$3="empty"}1' file
это оставило меня с
oski14,safe,0,13,53,4
oski15,Unknow,,,,0
oski16,Unknow,,,,0
oski17,Unknow,,,,0
oski18,unsafe,0.55,,1,2
oski19,unsafe,0.12,4,,56
Я также пытался
nawk -F, '{$3="\ "?"empty":$3;print}' OFS="," file
это привело к
oski14,safe,empty,13,53,4
oski15,Unknow,empty,,,0
oski16,Unknow,empty,,,0
oski17,Unknow,empty,,,0
oski18,unsafe,empty,,1,2
oski19,unsafe,empty,4,,56
Наконец я попытался
awk '{if (!$3) {print $1,$2,"empty"} else {print $1,$2,$3}}' file
это оставило меня с
oski14,safe,empty,13,53,4 empty
oski15,Unknow,empty,,,0 empty
oski16,Unknow,empty,,,0 empty
oski17,Unknow,empty,,,0 empty
oski18,unsafe,empty,,1,2 empty
oski19,unsafe,empty,4,,56 empty