2012-05-31 3 views
1

В настоящее время я размещаюсь под строками в файле с именем google.txt. Я хочу разделить эти строки и сохранить эти разделенные строки в массивах.Хранение строк в массиве

Как для первой линии

@qf_file= q33AgCEv006441 
@date = Tue Apr 3 16:12 
@junk_message = User unknown 
@rf_number = [email protected] 

the line ends at the @rf_number at last emailadress 
q33AgCEv006441  1038 Tue Apr 3 16:12 <[email protected]> 
        (User unknown) 
        <[email protected]> 
    q33BDrP9007220 50153 Tue Apr 3 16:43 <[email protected]> 
        (Deferred: 451 4.2.1 mailbox temporarily disabled: paond.tndt) 
         <[email protected]> 
    q33BDrPB007220 50153 Tue Apr 3 16:43 <[email protected]> 
        (User unknown) 
        [email protected]> 
              <[email protected]> 
              <[email protected]> 
    q33BDrPA007220 50153 Tue Apr 3 16:43 <[email protected]> 
        (User unknown) 
        <[email protected]> 
        <[email protected]> 
    q2VDWKkY010407 2221878 Sat Mar 31 19:37 <[email protected]> 
        (host map: lookup (now-india.net.in): deferred) 
        <[email protected]> 
    q2VDWKkR010407 2221878 Sat Mar 31 19:31 <[email protected]> 
        (host map: lookup (aaplawoffices.in): deferred) 
         <[email protected]> 
    q2U8qZM7026999 360205 Fri Mar 30 14:38 <[email protected]> 
        (host map: lookup (now-india.net.in): deferred) 
         <[email protected]> 
         <[email protected]> 
    q2TEWWE4013920 2175270 Thu Mar 29 20:30 <[email protected]> 
        (host map: lookup (now-india.net.in): deferred) 
           <[email protected]> 
           <[email protected]> 
+2

У вас есть код написанный? Это этикетка переполнения стека, чтобы запустить некоторый код и/или показать, что вы пробовали. – kevlar1818

+0

Кроме того, не могли бы вы уточнить, где находятся фактические окончания строк? Вы говорите «первую строчку», но ссылаетесь на первые 3 кажущиеся строки в блоке кода ... – kevlar1818

+0

Спасибо, kevlar, я отредактировал сообщение, см. –

ответ

1

Непроверено скрипт Perl:

Давайте назовем этот скрипт parser.pl:

$file = shift; 
open(IN, "<$file") or die "Cannot open file: $file for reading ($!)\n"; 
while(<IN>) { 
    push(@qf_file, /^\w+/g); 
    push(@date, /(?:Sat|Sun|Mon|Tue|Wed|Thu|Fri)[\w\s:]+/g); 
    push(@junk_message, /(?<=\().+(?=\)\s*<)/g); 
    push(@rf_number, /(?<=<)[^>]+(?=>\s*$)/g); 
} 
close(IN); 

Предполагается, что последним электронным письмом на линии должно быть «rf_number» для этой строки. Обратите внимание, что электронная почта может быть сложна для печати, так как они имеют @ характер, и Perl более чем счастлив, чтобы напечатать несуществующий список для вас :-)

Для вызова этого в командной строке:

parser.pl google.txt 

См. Эту работу here.

+0

Спасибо Kevlar за то, что он работает над этим, очень ценит, что он плохо смотрел на скрипт прямо сейчас. –

+1

Если вы его не тестировали для своих нужд, не принимайте ответ ... Вероятно, вам стоит просто +1, если вы чувствуете, что его помогли, прежде чем принять его. – kevlar1818

+0

Разве это в конечном итоге работает на вас? – kevlar1818