Найти 3" />
![]() |
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Получить первые 9 цифр из числового значения | sollins | Shell программирование и сценарии | 10 | 07-01-2008 04:19 AM |
| Цифры дисплея | Spoorthi16 | UNIX для чайников Вопросы И Ответы | 3 | 10-01-2007 08:26 PM |
| Только цифры, входной | namishtiwari | UNIX для чайников Вопросы И Ответы | 2 | 08-21-2007 06:23 AM |
| Как сократить последние 10 цифр Off | psarava | Shell программирование и сценарии | 4 | 08-29-2006 03:52 AM |
| ограничить количество цифр в PID | mlefebvr | UNIX перспективных И опытных пользователей | 1 | 05-27-2002 09:33 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Форматирование знаков
Я хочу, чтобы проверить доводы в KSH. Если пользователь введите в строке "Найти 3", это будет формат 3 003 для сравнения данных в текстовый файл. То же, что и с 10 до 010. Всегда начинается с 0.
напр. > Найти 3 Результат: 003 > Найти 30 Результат: 030 |
|
||||
|
Существует утилита с именем найти не использовать название найти для вашего сценария.
Вы можете использовать printf для форматирования данных, что-то вроде этого на печать 1-й аргумент: Код:
data=`printf "%03d" $1` |
|
||||
|
К сожалению .. 'Найти' это просто пример, фактическое название 'findlog ".
Является printf работает KSH? Я просто для новичка. Спасибо. |
|
||||
|
Цитата:
Привет |
|
||||
|
Я пытался проверить ниже код, но он показывает мне странно результаты
Данные \u003d `printf"% 03d "$ 1` Эхо $ данных Пример теста: > Findlog.sh 001 001 > Findlog.sh 020 016 > Findlog.sh 035 029 > Findlog.sh 099 printf: 099: не полностью преобразованы 000 |
|
||||
|
1 или 2 цифры, но это нормально, когда 3-значный используется который является правильным аргументом, она показывается неправильный номер. например, 035 должны также привести к 035. Спасибо.
|
|
||||
|
Это странное поведение встроенного в printf заявление в KSH, попробуйте его с AWK:
Код:
data=`echo $1 | awk '{printf "%03d", $0}'`
echo $data
|
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|