ocehb: (Default)
[personal profile] ocehb
Есть текстовый файл. Сформировать массив, хранящий номера строк файла, в которых будет встречаться слово "мель"; в тексте удалить все комментарии, т.е. текст, заключенный между /* и */, включая эти символы.


Решение:

# perl -0777 -lne 'sub fun ($) { local $_ = $_[0]; s#[^\n]+##gsm; return $_; } 
                   s#/\*.*?\*/#fun($&)#gsme;
                   foreach (split "\n") { $n++; m#мель# && print $n,"\n" }' file

Date: 2011-04-28 06:38 pm (UTC)
From: [identity profile] jerom.livejournal.com
не очень понял условие, но вот вариант:
perl -n '$f.=$_;/мель/ && print"$.\n";}END{$f =~ s#/\*.*?\*/##gs;'

Date: 2011-04-28 07:15 pm (UTC)
From: [identity profile] jerom.livejournal.com
perl -0777 -n 's#^#++$n."!"#gme;s#/\*.*?\*/##gs;s#^(\d+)!.*мель#print "$1\n"#gme;'

Profile

ocehb: (Default)
ocehb

January 2021

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 5th, 2026 10:52 pm
Powered by Dreamwidth Studios