![]() |
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.
|
|
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 |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
||||
|
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 |
| Режимы дисплея | Оценить эту ветку |
|
|