The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 06-27-2006
newlearner newlearner is offline
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2006
Сообщений: 8
Помощь необходимости - распечатать 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 как ИТ% ';

Я файлы с тысячами заявлений, мне нужно форматировать их, как указано выше.

Я высоко ценю ваши добрые помощь и ответ.
Old 06-28-2006
thestevew thestevew is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2006
Местоположение: Южная Йоркшир, Великобритания
Сообщений: 114
Быстрый и грязный код пересмотреть формат Ваших запросов - предполагается, что каждый из них начинается с комментария предшествовала "-"

Код:
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

ура
Old 06-29-2006
newlearner newlearner is offline
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2006
Сообщений: 8
Wow ...

Спасибо за ваш быстрый и грязный код решить мою проблему. Поскольку я новичок в такого рода работу, я не могу понять решение, но это здорово. У меня еще один запрос на выход. Если мне нужны только конкретные строки как я не хочу 0,000 строк вне поставить. Тогда как я могу продолжить. Я знаю один способ, сделать это grep-V. Но anyother образом.

Спасибо за Ваш ответ и помощь.
Old 06-29-2006
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Модератор
  
 

Регистрация: Oct 2003
Место проведения: -31.96,115.84
Сообщения: 1411
Попробуйте ...
Код:
awk '/^--/ && $NF>0 {printf $NF "|"; do {getline; printf $0 (/;/?ORS:OFS)} while (!/;/)}' file1 > file2

Old 06-30-2006
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Регистрация: Mar 2005
Расположение: в конечном узле B + дерево
Сообщения: 2960
как это нынешняя должность отличается от это
Old 06-30-2006
thestevew thestevew is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2006
Местоположение: Южная Йоркшир, Великобритания
Сообщений: 114
Это 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

ура
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 08:52 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0