The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Как переместить файл указатель на строку в частности с user_prady Программирования высокого уровня 7 03-27-2008 12:32 AM
вернуть предыдущую строку user_prady Shell программирование и сценарии 12 12-18-2007 07:37 AM
Как искать предыдущие строки в Vim useless79 UNIX перспективных И опытных пользователей 2 09-16-2007 08:10 AM
поиска и получения предыдущей строке в файле paulsew Shell программирование и сценарии 2 02-23-2007 08:04 AM
Предыдущий день даты в Perl? rajus19 Shell программирование и сценарии 4 07-18-2006 12:40 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 01-24-2008
tqlam tqlam is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2004
Сообщений: 12
Perl, как переместить указатель на предыдущую строку в текстовом файле?

У меня есть текстовый файл, который блоков текста. Каждый блок начинается с # # # и заканчивается End_ # # #.
Я написал Perl Сценарий для поиска строку из строки 2 (игнорировать любые строка начинается с # # #) каждого блока
если соответствует, необходимо распечатать, что весь блок. По входной файл ниже, он будет печатать блоки # 02, # 04, # 05.
Вот мой вопрос, у меня нет никаких проблем, соответствующие SEARCH_STR, но как только соответствует, как мне вернуться предыдущих строк?
например, в блоке # 02, соответствует в строке 3, но мне нужно распечатать линии 1 И 2.

Спасибо заранее за любую помощь!

MY SCRIPT:
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
#! / 46020/local/bin /Perl -W
#
если ($ # ARGV! \u003d 0) (
Версия для печати "Вы должны служить критериями поиска. \ N";
выхода;
)
моего запроса $ \u003d $ ARGV [0];
моя $ INPUT \u003d "/ mypath / inputFILE.txt";
моя $ линия;
мои метки $ \u003d 0;
Результаты моего @ \u003d ();

OPEN (FILE, "<$ INPUT"), или умереть "Не удается открыть '$ INPUT' файла: $!";
а ($ \u003d строка <FILE>) (
Следующий если ($ линия \u003d ~ / ^ # [0-9] [0-9] .* - / | | $ линия \u003d ~ / ^ \ S *$/);
если ($ линия \u003d ~ / $ запросов / I) (
$ тегом \u003d 1;
)
если ($ линия \u003d ~ / ^ End_ # / И И $ тега \u003d\u003d 1) (
нажимаем (@ результатов, $ строка), если ($ тегом \u003d\u003d 1);
$ тег \u003d 0;
)
нажимаем (@ результатов, $ строка), если ($ тегом \u003d\u003d 1);
)
CLOSE (файл);
Версия для печати "@ результатов \ N";
выхода;


INPUTFILE:
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
# 01 - блок запуска линии здесь
текст здесь
текст здесь
несколько строк
несколько строк
несколько строк
End_ # 01

# 02 - блок запуска линии здесь
текст здесь
эта строка содержит SEARCH_STR и нечто
несколько строк
несколько строк
End_ # 02

# 03 - блок запуска линии здесь
текст здесь
текст здесь
несколько строк
несколько строк
несколько строк
End_ # 03

# 04 - блок запуска линии здесь
текст здесь
несколько строк
несколько строк
в SEARCH_STR здесь и что-то
текст здесь
несколько строк
несколько строк
несколько строк
End_ # 04

# 05 - блок запуска линии здесь
текст здесь
несколько строк
в SEARCH_STR здесь и что-то
несколько строк
End_ # 05


# 06 - блок запуска линии здесь
текст здесь
текст здесь
несколько строк
несколько строк
несколько строк
End_ # 06
 

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 09:55 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