Если и только если ваши данные содержат только цифры и у вас есть четко определенный разделитель полей FS
, вы можете использовать следующий прием:
awk 'BEGIN{FS=OFS="\t"}{for(i=1;i<=NF;++i) $i+=0}1' file
Добавляя ноль, мы конвертируем строки в числа. Пустые строки будут преобразованы в ноль. Вы можете определить свой разделитель полей для чего угодно.
Это, однако, может быть немного медленным, так как он будет повторно обрабатывать $0
и разбивать его на поля каждый раз, когда вы переназначаете поле $i
.
Более быстрый путь - это решение Деннис Уильямсон