Опция seq -f использует формат C printf с плавающей точкой?
seq
справочная страница объясняет -f
вариант как этот.
-f, --format=FORMAT
use printf style floating-point FORMAT
Вот пример.
$ seq -f 'logfile%02g.txt' 3
logfile01.txt
logfile02.txt
logfile03.txt
Я знаю, что он может сделать. Однако я не уверен насчет "printf
ФОРМАТ с плавающей точкой %02g
а также 3
за??
1 ответ
-f
опция использует формат printf
внутренняя команда bash, как показано в следующей выдержке из результатов seq --help
:
$ seq --help
Usage: seq [OPTION]... LAST
or: seq [OPTION]... FIRST LAST
or: seq [OPTION]... FIRST INCREMENT LAST
Print numbers from FIRST to LAST, in steps of INCREMENT.
-f, --format=FORMAT use printf style floating-point FORMAT
%02g
использует формат printf
внутренняя команда bash. %02g
обозначает использование выходного формата: %g
(который используется по умолчанию), но с 0
перед номером. Ведущий 0
используется в качестве отступа только при необходимости для печати строк 1-9 последовательности. нет 0
отступы необходимы для печати строк 10-99 последовательности.
2 обозначает минимальный "размер символа" числа, который в данном примере составляет 2 символа. Если последовательность достаточно длинная, будет напечатано больше, чем минимальный размер символа числа, который начинается с минимального размера символа в два символа и автоматически регулируется по длине, если это необходимо, по мере увеличения напечатанной последовательности. Если %02g
заменяется %03g
затем печатаются минимум три цифры. Если %02g
заменяется %01g
затем ведущий 0
отступы для строк 1-9 опущены, и напечатан минимум один номер.
3 в конце seq -f 'logfile%02g.txt' 3
длина последовательности, которая будет напечатана.