Опция 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 длина последовательности, которая будет напечатана.