Вопросы с тегом «printf»

Встроенная команда оболочки, которая форматирует и печатает данные. Вопросы, касающиеся команды printf или широкого использования синтаксиса printf на языке программирования (например, awk, PHP, perl, C ++ ...)

547
Почему printf лучше, чем echo?

Я слышал, что printfэто лучше, чем echo. Из своего опыта я могу вспомнить только один случай, когда мне приходилось использовать, printfпотому что echoон не работал для подачи текста в какую-то программу на RHEL 5.8, но printfработал. Но, видимо, есть и другие различия, и я хотел бы узнать, что это...

54
Почему printf «сжимается» умлаут?

Если я выполню следующий простой скрипт: #!/bin/bash printf "%-20s %s\n" "Früchte und Gemüse" "foo" printf "%-20s %s\n" "Milchprodukte" "bar" printf "%-20s %s\n" "12345678901234567890" "baz" Это печатает: Früchte und Gemüse foo Milchprodukte bar 12345678901234567890 baz то есть текст с умлаутами...

20
Awk printf число по ширине и округлить его

Мне нужно распечатать число, но с заданной шириной и округлено (с awk!) %10s У меня есть это и как-то мне нужно подключить, %dно все, что я делаю, заканчивается слишком много параметров для awk (потому что у меня есть больше...

16
Почему некоторые символы юникода не выводятся на мой терминал?

Я использую Arch Linux с простым терминалом, использующим шрифт Adobe Source Code Pro. Мой язык правильно установлен LANG=en_US.UTF-8. Я хочу напечатать символы Unicode, представляющие игральные карты, на мой терминал. Я использую Википедию для справки . Символы Юникода для карточных мастей...

14
Немного смущен тем, является ли printf в оболочке yash встроенной командой или нет

yashОболочка имеет printfвстроенный, согласно его инструкции . Тем не менее, это то, что я вижу в yashоболочке с конфигурацией по умолчанию: kk@eeyore ~ $ command -v printf /usr/bin/printf kk@eeyore ~ $ type printf printf: a regular built-in at /usr/bin/printf Является printf встроенная в эту...

13
Как остановить Bash от интерпретации восьмеричного кода вместо целого?

Я пишу RSS-сценарий Horoscope в качестве вступления к проекту Unix / Linux и столкнулся с проблемой, которую мой профессор не мог исправить за то время, когда я смог остаться после занятий. Поскольку я не мог понять, как использовать фактические даты для проверки, я решил попробовать основную...

13
Вывод на печать только после нахождения шаблона

Есть сценарий (давайте назовем его echoer), который печатает на экране кучу информации. Я бы хотел видеть линии только после того, как шаблон найден. Я представляю использование решения, чтобы выглядеть примерно так echoer | solution_command <pattern> В идеале patternбыло бы регулярным...

11
Как printf округляет половинки до первого знака после запятой?

Я тестирую две разные реализации в printfмоей системе: printf (GNU coreutils) 8.26и версию в комплекте zsh 5.3.1. Я проверяю, как округляются половинные числа, то есть для 1,5, 2,5, 3,5, ... 9,5. $ for i in {1..9}; do /usr/bin/printf '%.0f\n' "${i}.5"; done 2 2 4 4 6 6 8 8 10 $ for i in {1..9}; do...

10
Изменить ширину первого столбца в файле с переменным количеством полей, используя awk

Я понимаю, как использовать функцию printf в awk, но я не хочу указывать каждое поле. Например, предположим, что это мой файл: c1|c2|c3|c4|c5 c6|c7|c8|c9|c10 c11|c12|c13|c14|c15 Я хочу отформатировать его так, чтобы первое поле каждой записи было шириной c11 - самой длинной ячейки в первом поле: c1...

9
Как мне захватить стандартный ввод переменной, не убирая завершающие символы новой строки?

В сценарии оболочки ... Как мне захватить стандартный ввод переменной, не убирая завершающие символы новой строки? Прямо сейчас я попробовал: var=`cat` var=`tee` var=$(tee) Во всех случаях $varне будет завершающей новой строки входного потока. Спасибо. ТАКЖЕ: Если на входе нет завершающего символа...

9
Как напечатать управляющие символы с escape-последовательностями?

Я определил красный цвет, используя tput red=$(tput setaf 1) раскрасить предупреждения в моей программе. Это прекрасно работает: printf '%sfail\n' "$red" # prints 'fail' in red Но в одном случае я хотел бы распечатать escape-последовательность как есть, что-то вроде: \ E [31mfail Как бы я это...

8
Требуется объяснение того, как я могу повторить символ в оболочке POSIX

Следующий ответ на переполнение стека, Как я могу повторить символ в Bash? навязывает один правдоподобный способ POSIX - только повторение одного символа следующим образом. В этом примере давайте используем знак равенства 100 раз: printf %100s | tr " " "=" Моя проблема в том, что я не понимаю, как...