П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 178146 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 75594 раз(а).

Учебник HTML.
Просмотров 74080 раз(а).

Руководство по PHP5.
Просмотров 45005 раз(а).

Хостинг через призму DNS.
Просмотров 51934 раз(а).

Подборка текстов стандартных документов.
Просмотров 45110 раз(а).

Учебник PHP - Самоучитель
Просмотров 51340 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 51794 раз(а).

Внешние атаки...
Просмотров 41935 раз(а).

Учебник PHP.
Просмотров 37278 раз(а).

SSI в примерах.
Просмотров 27848 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь



http://soapway.ru/ каталог натуральной косметики интернет магазин.


Руководство пользователя для GNU Awk

6. Печатный вывод

6.5 Использование операторов printf для декоративной печати

6.5.4 Примеры употребления printf

Покажем, как использовать printf для выдачи выровненной таблицы:
awk '- printf "%-10s %s"n", $1, $2 ""' BBS-list печатает имена досок объявлений

($1) из файла `BBS-list' в виде цепочки 10 символов, выровненной по левому краю. Она также печатает телефонные номера ($2) дальше в строке. Это оформляется в виде выровненной двух-столбцовой таблицы имен и телефонных номеров:


$ awk '- printf "%-10s %s"n", $1, $2 ""' BBS-list
a aardvark 555-5553
a alpo-net 555-3412
a barfly 555-7685
a bites 555-1675
a camelot 555-0542
a core 555-2912
a fooey 555-1234
a foot 555-6699
a macfoo 555-6480
a sdace 555-3430
a sabafoo 555-2127

Заметили ли вы, что мы не указывали, чтобы телефонные номера печатались как числа? Они должны печататься как цепочки, потому что разделены знаком дефиса Если бы мы пытались напечатать телефонные номера как числа, все что мы могли бы получить, было тремя первыми цифрами, `555'. Это было бы очень плохо.

Мы не указывали ширину телефонных номеров, потому что они располагаются в концах своих строк. После них не нужно располагать пробелы. Мы могли бы сделать нашу таблицу красивее, добавив заголовки вверху колонок. Чтобы сделать это, используем образец BEGIN (см. раздел 8.1.5 [Специальные образцы BEGIN и END], стр.100), чтобы заголовок напечатался только один раз, в начале awk-программы:

awk 'BEGIN - print "Name Number"
print "---- ------" "" - printf "%-10s %s"n", $1, $2 ""' BBS-list

В этом примере мы смешали опереторы print и printf. Мы могли употребить только операторы printf для получения того же результата:

awk 'BEGIN - printf "%-10s %s"n", "Name", "Number"
printf "%-10s %s"n", "----", "------" "" - 
printf "%-10s %s"n", $1, $2 ""' BBS-list

Печатая заголовок каждой колонки с теми же спецификациями формата, которые использовались для элементов столбца, мы обеспечили выравнивание заголовков так же как и столбцов.

Факт, что та же спецификация формата используется три раза, может быть подчеркнут помещением ее в переменную, подобно следующему:

awk 'BEGIN - format = "%-10s %s"n"

printf format, "Name", "Number" 

printf format, "----", "------" "" -

printf format, $1, $2 ""' BBS-list

Попробуйте с помощью printf расположить в одой линии заголовки и табличные данные для нашей `inventory-shipped', рассмотренной ранее в разделе об операторе print (см. раздел 6.1 [Оператор print], стр. 61).

Назад | Вперед
Содержание (общее) | Содержание раздела | Содержание подраздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru