URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7506
[ Назад ]

Исходное сообщение
"Регулярное выражение на Perl"

Отправлено agalin , 28-Июл-08 22:50 
Помогите пожалуйста написать регулярное выражение в Perl для поиска в файле.
Файл имеет вид:

        ...............

Name     Line Prefix     Job Type

--------------------------------------------
mas_96  07EA3DS       Lacona Extra
      
        ...............

Требуется найти "Job Type", опуститься вниз на 2 строчки и выкусить "Lacona Extra", точно 2 сроки под "Job Type".
Поиск  "Job Type" я реализовал:

#! /usr/bin/perl
use strict;

open(FILE, "test.txt") or die $!;
while(<FILE>){
    if(/Job Type/){
    print "Job Type\n";
    }
}

А вот как сдвинуться на две строки внизи считать третий столбец с помощью Perl?


Содержание

Сообщения в этом обсуждении
"Регулярное выражение на Perl"
Отправлено angra , 28-Июл-08 23:08 
>А вот как сдвинуться на две строки вниз

несколько способов, но это к умению программировать вообще, а не на perl в частности. Учитесь решать елементарные задачи самостоятельно или завязывайте с программированием
>считать третий столбец с помощью Perl

Обычно split, но так как у вас значения с разделителями внутри, то захватом:
perl -e '$_="mas_96  07EA3DS       Lacona Extra";/^\S+\s+\S+\s+(.*)/;print $1'
Lacona Extra

P.S. почитайте еще про chomp, пригодится


"Регулярное выражение на Perl"
Отправлено agalin , 30-Июл-08 22:02 
Спасибо за дельные советы. Буду работать над собой.
Но я не программист. Просто время от времени приходится систеатизировать данные по работе - вот я заглянул к Вам на форум.
Спасибо за помощь!