![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Как напечатать только линии между двумя строками, используя AWK | Jisha | Shell программирование и сценарии | 4 | 01-11-2008 04:13 AM |
| печать выбранных строк | tonet | Shell программирование и сценарии | 6 | 10-08-2007 06:50 AM |
| Как напечатать число строк с AWK? | maheshsri | Shell программирование и сценарии | 1 | 11-18-2005 02:19 AM |
| Версия для печати прилегающих линий | apalex | UNIX для чайников Вопросы И Ответы | 1 | 04-29-2002 12:59 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Помощь необходимости - распечатать mutliple линий
У меня имеются следующие ввода
- Appl \u003d \u003d пребывания пользователя \u003d / \u003d 76 PID прошло \u003d 0,000 секунд server_elapsed \u003d 2,999 выберите emp_no, dept_no от эми где empname как "Роб% ' и empno \u003d 10 ; - Appl \u003d \u003d пребывания пользователя \u003d / \u003d 76 PID прошло \u003d 0,000 секунд server_elapsed \u003d 0.999 выберите emp_no, dept_no от задолжности где deptname как "IT% ' ; Приведенные выше входного необходимость печатать следующий вывод. 2,999 | Выбрать emp_no, dept_no от ЭМИ, где empname как "Роб% и empno \u003d 10; 0.999 | Выбрать emp_no, dept_no из отдела, где deptname как ИТ% '; Я файлы с тысячами заявлений, мне нужно форматировать их, как указано выше. Я высоко ценю ваши добрые помощь и ответ. |
|
||||
|
Быстрый и грязный код пересмотреть формат Ваших запросов - предполагается, что каждый из них начинается с комментария предшествовала "-" Код:
while read a do if [[ $a = --* ]]; then print lf=$(echo $a|wc -w); print -n "$(echo $a|cut -d' ' -f $lf) |" else print -n " "$a fi done < YourOriginalFile > YourReformattedFile ура |
|
||||
|
Wow ...
Спасибо за ваш быстрый и грязный код решить мою проблему. Поскольку я новичок в такого рода работу, я не могу понять решение, но это здорово. У меня еще один запрос на выход. Если мне нужны только конкретные строки как я не хочу 0,000 строк вне поставить. Тогда как я могу продолжить. Я знаю один способ, сделать это grep-V. Но anyother образом.
Спасибо за Ваш ответ и помощь. |
|
||||
|
как это нынешняя должность отличается от это
|
|
||||
|
Это AWK линия потрясающий! Но, используя скрипт оболочки с тем же предположениях, как и прежде, для пресечения нулей: Код:
while read a
do
if [[ $a = --* ]]; then
lf=$(echo $a|wc -w)
secs=$(echo $a|cut -d' ' -f $lf)
msecs=$(( $secs * 1000))
if [ $msecs -gt 0 ]; then
print
print -n "$secs |"
fi
else
if [ $msecs -gt 0 ]; then
print -n " "$a
fi
fi
done < YourOriginalFile > YourReformattedFile
ура |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|