Thread View: pl.comp.lang.perl
6 messages
6 total messages
Started by Bartek Papierski
Wed, 29 Oct 1997 13:35
wyciecie konkretnej linii z pliku
Author: Bartek Papierski
Date: Wed, 29 Oct 1997 13:35
Date: Wed, 29 Oct 1997 13:35
12 lines
859 bytes
859 bytes
Czesc, Raczkuje w perlu, wiec mam do Was pytanie: Chcialem wyciac linie na przyklad 3 i 4 z pliku tekstowego. Czy da sie to zalatwic jakas maska? Prosze o pomoc. _/ _/ _/ _/ _/ _/ Bartek Papierski - PACTOR ATK _/ _/ _/ bartek@pactor.tpnet.pl _/ _/ _/ http://www.pactor.tpnet.pl
Re: wyciecie konkretnej linii z pliku
Author: Grzegorz BRZESKI
Date: Thu, 30 Oct 1997 11:54
Date: Thu, 30 Oct 1997 11:54
20 lines
1052 bytes
1052 bytes
Bartek Papierski wrote: > Chcialem wyciac linie na przyklad 3 i 4 z pliku tekstowego. > Czy da sie to zalatwic jakas maska? open(FILE, "/path/plik.txt"); @file = <FILE>; close FILE; print $file[2]; #linia 3 print $file[3]; #linia 4 exit; Z pozdrowieniami, Grzegorz BRZESKI -- Grzegorz BRZESKI - WEB Corporation Polska Sp. z o.o.
Re: wyciecie konkretnej linii z pliku
Author: Piotr Piatkowski
Date: Fri, 31 Oct 1997 14:47
Date: Fri, 31 Oct 1997 14:47
43 lines
1548 bytes
1548 bytes
Bartek Papierski <bartek@pactor.tpnet.pl> wrote:
: Czesc,
: Raczkuje w perlu, wiec mam do Was pytanie:
: Chcialem wyciac linie na przyklad 3 i 4 z pliku tekstowego.
: Czy da sie to zalatwic jakas maska?
: Prosze o pomoc.
Jeżeli przez maskę rozumiesz wyrażenie regularne, to niby można, ale
nie jest to najlepsze rozwiązanie. Znacznie ładniej będzie np. tak:
while(<>) {
if( 3..4 ) {
# to rób dla linii 3 i 4 ...
}
else {
# ...a to dla pozostałych.
}
}
Co jest mniej więcej równoważne takiej konstrukcji:
$flipflop = 0;
while(<>) {
if( ! $flipflop && $. == 3 ) {
$flipflop = 1;
}
if( $flipflop ) {
# ...
}
else {
# ...
}
if( $flipflop && $. == 4 ) {
$flipflop = 0;
}
}
(a $. to numer aktualnie przetwarzanej linii z pliku wejściowego).
--
Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Re: wyciecie konkretnej linii z pliku
Author: Szymon Sokol
Date: Tue, 04 Nov 1997 10:16
Date: Tue, 04 Nov 1997 10:16
22 lines
1513 bytes
1513 bytes
Grzegorz BRZESKI <gregory@webcorp.com.pl> wrote: : Bartek Papierski wrote: :> Chcialem wyciac linie na przyklad 3 i 4 z pliku tekstowego. :> Czy da sie to zalatwic jakas maska? : open(FILE, "/path/plik.txt"); : @file = <FILE>; : close FILE; : print $file[2]; #linia 3 : print $file[3]; #linia 4 Nie zalecam dla dużych plików. Proszę zauważyć, że tu się cały plik ładuje do pamięci. Jak maszyna ma 16MB RAM i 32MB swap (taki typowy domowy Linux), a plik >50MB, to amen. Lepsze jest rozwiązanie Kazia... -- A GGGG H H Szymon Sokół -- administrator sieci A A G H H Uczelniane Centrum Informatyki Akademii Górniczo-Hutniczej AAAAA G GGG HHHHH al. Mickiewicza 30, 30-059 Kraków. FAX +48 12 6338907 A A GGGG H H http://galaxy.uci.agh.edu.pl/~szymon/ TEL +48 12 6172894
Re: wyciecie konkretnej linii z pliku
Author: Grzegorz BRZESKI
Date: Tue, 04 Nov 1997 13:48
Date: Tue, 04 Nov 1997 13:48
15 lines
1234 bytes
1234 bytes
Szymon Sokol wrote: > > Nie zalecam dla du¿ych plików. Proszê zauwa¿yæ, ¿e tu siê ca³y plik > ³aduje do pamiêci. Jak maszyna ma 16MB RAM i 32MB swap (taki typowy > domowy Linux), a plik >50MB, to amen. Lepsze jest rozwi±zanie > Kazia... Oczywiscie. Dla duzych plikow nawet chyba wykonanie komendy systemowej head lub tail bylo by szybsze dla plikow >50Mb. Ale nie sprawdzalem tego. Z pozdrowieniami, Grzegorz BRZESKI
Re: wyciecie konkretnej linii z pliku
Author: Grzegorz Szyszl'o
Date: Tue, 04 Nov 1997 14:59
Date: Tue, 04 Nov 1997 14:59
25 lines
1707 bytes
1707 bytes
Grzegorz BRZESKI <gregory@webcorp.com.pl> wrote: >Szymon Sokol wrote: >> >> Nie zalecam dla du¿ych plików. Proszê zauwa¿yæ, ¿e tu siê ca³y plik >> ³aduje do pamiêci. Jak maszyna ma 16MB RAM i 32MB swap (taki typowy >> domowy Linux), a plik >50MB, to amen. Lepsze jest rozwi±zanie >> Kazia... > >Oczywiscie. > >Dla duzych plikow nawet chyba wykonanie komendy systemowej head lub tail >bylo by szybsze dla plikow >50Mb. Ale nie sprawdzalem tego. > >Z pozdrowieniami, > >Grzegorz BRZESKI a ja sprawdzalem. head czy tail, rezerwuja sobie pamiec tylko dla kilku linii tekstu. -- /===================================\ oOOo W temperaturze zera | http://avalon.wbc.lublin.pl/~znik/ \===\__/==\ bezwzglednego swiatlo | Grzegorz Szyszlo mailto:znik@wbc.lublin.pl | zmienia postac \==============================================/ alotropowa (by Znik)
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads