Параметр seq -f использует формат плавающей запятой C printf?

Это сработало? Так же, как подсказка - после создания записи на рабочем столе, пока вы все еще находитесь в папке рабочего стола, выполните:

desktop-file-validate foo.desktop

«foo, конечно» - это имя вашего файла рабочего стола. Что это будет делать, это проверить свой файл на спецификации freedesktop.org для семантических и стилистических ошибок. Некоторые из вышеупомянутых строк на самом деле не нужны, просто необязательны - например, комментарий (aka tooltip), категории (см. Сайт freedesktop для соответствия и использования) и терминал (полезно только в том случае, если программа должна выполняться в терминале). Мне было очень весело с этим. Вы можете использовать его для создания «пусковых установок» для веб-страниц и всех видов, используя пользовательские значки.

-1
задан 6 January 2018 в 19:12

2 ответа

Опция -f использует формат внутренней команды bash printf, как показано в следующем выдержке из результатов 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. [F7] означает использование выходного формата: %g (по умолчанию), но с 0 перед номером. Ведущий 0 используется в качестве дополнения только в случае необходимости для печати строк 1-9 последовательности. Для печати линий 10-99 последовательности не требуется заполнение 0.

В этом примере 2 обозначает минимальный «размер символа», который составляет 2 символа. Если последовательность достаточно длинная, будет напечатано больше минимального размера символа, которое начинается с минимального символьного размера двух символов и при необходимости будет автоматически изменяться по длине с постепенным увеличением печатной последовательности. Если %02g заменено на %03g, тогда печатается минимум три цифры. Если %02g заменяется на %01g, то верхнее отступ 0 для строк 1-9 опущено и печатается минимум одно число.

3 в конце seq -f 'logfile%02g.txt' 3 - это длина последовательности, которая будет напечатана.

1
ответ дан 17 July 2018 в 23:45

Опция -f использует формат внутренней команды bash printf, как показано в следующем выдержке из результатов 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. [F7] означает использование выходного формата: %g (по умолчанию), но с 0 перед номером. Ведущий 0 используется в качестве дополнения только в случае необходимости для печати строк 1-9 последовательности. Для печати линий 10-99 последовательности не требуется заполнение 0.

В этом примере 2 обозначает минимальный «размер символа», который составляет 2 символа. Если последовательность достаточно длинная, будет напечатано больше минимального размера символа, которое начинается с минимального символьного размера двух символов и при необходимости будет автоматически изменяться по длине с постепенным увеличением печатной последовательности. Если %02g заменено на %03g, тогда печатается минимум три цифры. Если %02g заменяется на %01g, то верхнее отступ 0 для строк 1-9 опущено и печатается минимум одно число.

3 в конце seq -f 'logfile%02g.txt' 3 - это длина последовательности, которая будет напечатана.

1
ответ дан 24 July 2018 в 17:05
  • 1
    Я не совсем понимаю. Прости. – Smile 14 January 2018 в 05:09
  • 2
    Какую часть ответа вы не поняли? Это часть использования нуля для заполнения перед порядковым номером, чтобы она достигла минимальной длины? Или это часть размера порядкового номера автоматически расширяется, чтобы соответствовать длине порядкового номера? – karel 14 January 2018 в 05:16
  • 3
    Я пытаюсь получить больше примеров. Я вернусь к вашему ответу позже. – Smile 14 January 2018 в 05:17

Другие вопросы по тегам:

Похожие вопросы: