AWK Выходная строка с переменным вводом - PullRequest
0 голосов
/ 04 мая 2018

У меня есть файл CSV, например, могут поступать данные; 0; или; .2; или; .23456; выходная строка (в файл) в этом случае должна быть 6 байтов с неявным десятичным числом, поэтому 0 будет, конечно, 000000, .2 будет 020000, .23456 будет 023456. и 1 будет 100000. Гарантии нет. десятичной дроби, то есть: 0 или 1, против. 23456 или 1,23456)

Я пробовал что-то вроде 01.5d, но десятичная дробь или ее отсутствие в поле ввода сбивают меня с толку. Я потратил некоторое время, читая и просматривая примеры кодирования, но не нашел ничего, что решало бы эту проблему. Я уверен, что есть простой, но изящный пример, который некоторые из экспертов могли бы обучить меня или указать мне руководство, которое помогло бы мне.

Спасибо.

1 Ответ

0 голосов
/ 04 мая 2018

Полагаю, это то, что вы пытаетесь сделать, но не уверены, поскольку отсутствуют проверочные тесты

$ awk '{printf "%06d\n", 100000*$1}' <(echo -e ".0\n0\n.23456\n1.23456\n.0123456789")

000000
000000
023456
123456
001234
...