The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
SED: найти матч и удалите строку выше cstovall Shell программирование и сценарии 3 07-02-2008 11:31 PM
Perl: Матч строку поиска с несколькими моделями Юха Shell программирование и сценарии 10 04-09-2008 02:43 AM
Несколько строк совпадают с помощью SED SiftinDotCom Shell программирование и сценарии 15 03-28-2008 02:12 PM
читать и соответствуют несколько строк в Perl zx1106 Shell программирование и сценарии 5 03-14-2008 10:21 PM
SED - Заменить линию, которая содержит План соответствие с новой строки kousikan Shell программирование и сценарии 2 03-24-2007 07:24 AM

 
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 03-27-2008
user_prady user_prady is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2007
Сообщений: 163
Unhappy если матч найдено перейти к конкретной строке в Perl

Здравствуйте, эксперты,

Я новичок в Perl, Просто любопытно узнать, как сделать следующее Perl.
Предположим, я уже один текстовый файл, как ниже. когда он основывает "* Главная Пуск"
Затем перейдите к "* Главная Конец ,,,,,,,," patteren и просто собирать количество по сравнению с предыдущим линия "* Главная Конец ,,,,,,," образец. В моем случае это 5. Потом начала excuting, как правило, от "* Главная Пуск" Позиция

Ниже приводится картина .. I DONT хотите создать какой-либо временный файл также ..
Входной файл:
Код:
*Init End
*Main Start
*Comment Reset Timers
000000,0000,0,0,0,0,0,1,0
000000,0000,0,0,0,0,1,1,0 
*Comment Control Frame at 1.04596 ms
000000,0400,0,0,0,0,1,0,1
2418A4,0000,0,1,3,0,0,0,0 
049C00,0000,0,0,2,0,0,0,0
*Comment Control Frame at 1.04673 ms
*Comment Control Frame at
000002,0000,0,0,0,0,1,0,1
241002,0000,0,1,3,0,0,0,0
000100,0000,0,0,2,0,0,0,0
*Comment Control Frame at
000004,0000,0,0,0,0,1,0,1
241002,0000,0,1,3,0,0,0,0
000000,0000,0,0,2,0,0,0,0
*Comment Frame 13 at ** us,,,,,,,,
000005,7E3D,0,0,0,0,1,0,1
*Main End,,,,,,,,
вывод:
Код:
*Init End
*Main Start
 repeat(5);
process all lines as usual here.

............
*Main End,,,,,,,,,
Я уже на печать всех строк, как это, когда он обнаружил строки, начинающиеся с *. Thats, почему я делаю, как ниже
Код:
 if(m/^\*/){
              print "//", $_;
              next;
    }
Код:
Basic Algorithm of my programme need :
1. If "*Main Start" pattern found go to line where Pattern matches "*Main end".
2. Get the previous line. and get the value of the first field.
3. Return to "*Main start" position again. & Print repeat(that number) : in my case it is 5 :
4. stop/next;
Любая помощь наиболее appriciated ..

привет,
user_prady

Последняя редакция user_prady; на 03-28-2008 12:51 AM..
 

Закладки

Теги
Perl, Perl Regex, Perl сдвиг, Regex, перемещение, переход на Perl, Solaris

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

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

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

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




Часовой пояс GMT -4. Текущее время 02:04 AM.


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