Vypros?
7 отговора
290 прегледа
Vypros?
Imam edin file s danni na ime "data"
Vytre imam po slednia red podredeni nesta:
1:text
2:text
3:text
4:text
Vyprosa mi e kak da iskaram reda s tekst otgovariast na nomera mu - no samo texta bez syotvetnia mu nomer.
Zna4i mislia 4e ste stane s "grep" ama nesto ne moga da go napravia.
Moje da se promeni malko principa na fila ako e nalojitelno vajnoto e da stane .
Blagodaria predvaritelno
Vytre imam po slednia red podredeni nesta:
1:text
2:text
3:text
4:text
Vyprosa mi e kak da iskaram reda s tekst otgovariast na nomera mu - no samo texta bez syotvetnia mu nomer.
Zna4i mislia 4e ste stane s "grep" ama nesto ne moga da go napravia.
Moje da se promeni malko principa na fila ako e nalojitelno vajnoto e da stane .
Blagodaria predvaritelno
Re: Vypros?
#!/usr/bin/perl
$find_this_line_number = "2";
open (FILE, "my_file.txt");
@lines = <FILE>;
close FILE;
foreach (@lines){
chomp $_;
if (/(^$find_this_line_number:)(.+)?/){
$text_that_I_find=$2;}
}
#for test
print "$text_that_I_find\n";
$find_this_line_number = "2";
open (FILE, "my_file.txt");
@lines = <FILE>;
close FILE;
foreach (@lines){
chomp $_;
if (/(^$find_this_line_number:)(.+)?/){
$text_that_I_find=$2;}
}
#for test
print "$text_that_I_find\n";
Re: Vypros?
Mersi za otgovora .
Bih iskal malko help
Zna4i dokolkoto vijdam stava vypros za text iskarvan po - line number...
Vsy6nost iskam da pitam kade v scripta se zadava 4e 4isloto pred texta niama da izleze?
Bih iskal malko help
Zna4i dokolkoto vijdam stava vypros za text iskarvan po - line number...
Vsy6nost iskam da pitam kade v scripta se zadava 4e 4isloto pred texta niama da izleze?
Re: Vypros?
open IN, "file.txt";
while (<IN>) {split(/:/); $temp{$_[0]}=$_[1];}
chomp %temp;
print $temp{3};
while (<IN>) {split(/:/); $temp{$_[0]}=$_[1];}
chomp %temp;
print $temp{3};
Re: Vypros?
Ami v gorniq primer nikade ne se kazva da NE izleze 4isloto, a se kazva da izlezne samo texta sled dvete to4ki ":"
if (/(^$find_this_line_number:)(.+)?/){
$text_that_I_find=$2;}
tozi regex razdelq celiqt red na 2:
4isloto+dvete to4ki vliza v zapazenata promenliva $1 zashtoto e v parvite skobi ot regex-a
(.+)? - tova zna4i edin ili pove4e savpadnali simvoli v niza i vliza v promenlivata $2,sled koeto sydyrjanieto se prisvoqva na $text_that_I_find
ako ne ti e qsno pak pitai
if (/(^$find_this_line_number:)(.+)?/){
$text_that_I_find=$2;}
tozi regex razdelq celiqt red na 2:
4isloto+dvete to4ki vliza v zapazenata promenliva $1 zashtoto e v parvite skobi ot regex-a
(.+)? - tova zna4i edin ili pove4e savpadnali simvoli v niza i vliza v promenlivata $2,sled koeto sydyrjanieto se prisvoqva na $text_that_I_find
ako ne ti e qsno pak pitai
Re: Vypros?
file.txt
1:text
2:text
3:My favorit colors is: Green,Red,Blue
4:text
EOF
print $temp{3}; ??
mislia che v sluchaia split ne e udachen
e ako failafile.txt e:
1:text
2:My favorit coloris:
Green,Red,Blue
3:text
efekta v po gornia mi primer e pochti sashtia
1:text
2:text
3:My favorit colors is: Green,Red,Blue
4:text
EOF
print $temp{3}; ??
mislia che v sluchaia split ne e udachen
e ako failafile.txt e:
1:text
2:My favorit coloris:
Green,Red,Blue
3:text
efekta v po gornia mi primer e pochti sashtia
Re: Vypros?
Saglasen sym. Triabva da e regex. Osven ako ne polzvash drug separator - primerno ":::" - togava pak sas split.
No az lichno bih preporachal regex:
$line =~ s/^(\d+):(.*?)/is;
togava chastta koiato te interesuva shte se namira v $2
No az lichno bih preporachal regex:
$line =~ s/^(\d+):(.*?)/is;
togava chastta koiato te interesuva shte se namira v $2