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

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

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

2
Почему 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 то есть текст с умлаутами (например, ü) сокращается на один символ за умлаут. Конечно, у меня …
54 bash  unicode  printf 

5
вывод на печать в 3 отдельных столбца
MYPATH=/var/www/html/error_logs/ TOTALFILE=$(ls $MYPATH* | wc -l) FILETIME=$(stat --format=%y $MYPATH* | head -5 | cut -d'.' -f1) FILE=$(ls -1tcr $MYPATH* | head -5 | rev | cut -d/ -f1 | rev) TOPLINE=$(head -1 $MYPATH* | grep -Po '".*?"' | head -5) Как я могу элегантно распечатать эту информацию 5 файлов в …

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

2
Почему некоторые символы юникода не выводятся на мой терминал?
Я использую Arch Linux с простым терминалом, использующим шрифт Adobe Source Code Pro. Мой язык правильно установлен LANG=en_US.UTF-8. Я хочу напечатать символы Unicode, представляющие игральные карты, на мой терминал. Я использую Википедию для справки . Символы Юникода для карточных мастей работают нормально. Например, выдача $ printf "\u2660" печатает черное сердце …
16 bash  fonts  unicode  printf 

3
Немного смущен тем, является ли 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 встроенная в эту оболочку или нет? Результат аналогичен для …

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

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




1
Как 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 …
11 printf  math 

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.