![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| egrep синтаксис вопрос | DKNUCKLES | Shell программирование и сценарии | 1 | 11-18-2007 04:46 PM |
| Простые Awk Вопрос: Если Синтаксические | natdeamer | Shell программирование и сценарии | 1 | 09-10-2007 01:53 PM |
| еще один AWK области синтаксиса вопрос | prkfriryce | Shell программирование и сценарии | 4 | 03-22-2007 01:13 PM |
| C-оболочка: переменная Синтаксис вопрос | alex_5161 | SUN Solaris | 0 | 01-30-2007 02:43 PM |
| Вопрос: не рекурсивном найти синтаксис | alexkav | UNIX для чайников Вопросы И Ответы | 6 | 03-10-2005 07:46 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
AWK синтаксис вопрос
Привет может кто-нибудь объяснить, что происходит в следующих функций / заявление на меня, просто им немного путают
Код \u003d 'BEGIN (FS \u003d","} ( printf ( "%-11S,% S% S% S,% 07.2f,% 14,%-3s \ N", $ 1, substr ($ 2,9,2), substr ($ 2,6,2), substr ( $ 2,3,2), $ 9, $ 10, $ 12) ) Эта функция вызывается в конце скрипта, используя AWK "$ код" каких-либо указаний бы весьма признателен ура |
|
|||||
|
Код \u003d 'BEGIN (FS \u003d","}
( printf ( "%-11S,% S% S% S,% 07.2f,% 14,%-3s \ N", $ 1, substr ($ 2,9,2), substr ($ 2,6,2), substr ( $ 2,3,2), $ 9, $ 10, $ 12) ) Да, во-первых, полевой сепаратора установлен в положение "", который означает, что код ожидает входного файла CSV (значения, разделенные запятыми). Затем данные из каждой записи выводится, отформатированные printf. Вы можете видеть, что каждый символ форматирования предшествует A% символ. %-11S средства напечатать строку левой оправдано в 11 символов широкое поле. В% S% S% S означает печать трех строк. % 07.2f означает цифру 7 широкое поле до второго знака после запятой (числа с плавающей точкой). % 14S означает 14 знаков широкий правой оправданы области, и т.д. \ N является новой. Затем, все различные поля будут заменены на месте проведения% S и т.д. Простой пример, printf ( "% S-% S \ N", $ 1, $ 2) приведет к тому, что первое поле, дефис, а затем второе поле для вывода после чего с новой строки. substr (строка, начало, numchars) - например substr ($ 2,9,2), это снова 2 символов, начиная с 9-го характера втором поле записи. Если у вас есть руководство по вашей системе (AWK человеком, но человеком остолоп лучше), то будете, вероятно, объяснить, что много яснее, чем я! Вы должны проверить, возможно, это http://www.gnu.org/software/gawk/manual/gawk.html Если вы используете GNU AWK. Ура ZB |
|
||||
|
Спасибо
|
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|