The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Разбор текстового файла средствами Shell"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Разбор текстового файла средствами Shell"
Сообщение от scripter emailИскать по авторуВ закладки on 04-Дек-02, 09:09  (MSK)
Есть тестовый файл из нескольких строк. Необходимо получить группу строк, идущих подряд между двумя ключевыми строками, удовлетворяющими заданному условию. Причем в искомых строках условие поиска не выполняется как для ключевых строк, поэтому простое применение grep здесь не прокатит.

Может кто знает, как сделать это средствами shell (bash, sh: wc, awk, sed, grep ...) или perl ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Разбор текстового файла средствами Shell"
Сообщение от joker Искать по авторуВ закладки on 04-Дек-02, 11:48  (MSK)
writing' this from M$ MuzDIE without russian locale,so sorry for poor english. %)
2 solve your problem i'd recommend U 2 use bash+awk
for example u've got file

qwe
111
###
$$$
%%%
222
asd

and u need 2 get lines between 111 and 222,i.e. (###,$$$,%%%)
try awk scipt like this
BEGIN {fl=0}
{
  if ($0=="111")
     fl=1;
  else if ($0=="222")
     fl=0;
  else if (fl==1)
    print $0;
}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Разбор текстового файла средствами Shell"
Сообщение от scripter emailИскать по авторуВ закладки on 05-Дек-02, 02:59  (MSK)
it's 'good' bat not 'cool'.
Спасибо за участие. Довольно аккуратное решение. Хотелось сделать это одной строкой - да видно я слишком размечтался.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Разбор текстового файла средствами Shell"
Сообщение от scripter emailИскать по авторуВ закладки on 05-Дек-02, 05:01  (MSK)
Y-e-e-S!! Еще раз убеждаюсь - сам не потопаешь - сам не полопаешь.
Решение выглядит так:

  awk '/шаблон_ключа_1/,/шаблон_ключа_2/'

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру