[perl] wczytywanie częsci wiersza

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
mariusz198787
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 123
Rejestracja: 19 maja 2010, 19:50
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Architektura: x86

[perl] wczytywanie częsci wiersza

Post autor: mariusz198787 »

Witam!

Jak wypisać część wiersza pliku (np. mamy wiersz: wer thhhnh hghg5 i chcemy z pliku wypisać wer)
Awatar użytkownika
leon1313
Zakręcona Traszka
Zakręcona Traszka
Posty: 668
Rejestracja: 02 sty 2006, 19:35
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: KDE Plasma
Architektura: x86

Odp: [perl] wczytywanie częsci wiersza

Post autor: leon1313 »

Oj, do łamania chrustu bierzesz piłę motorową :-)
chociażby:

Kod: Zaznacz cały

echo "wer thhhnh hghg5 " | perl -lane '@dd=split(); print $dd[0]'
"Poza tym dostałeś PLONKa i zabraniam Ci pisać na te grupe!!! Powiedziałem PLONK i sie zamknij i nawet nie knuj rzeby mi odpisywać! Zabraniam!!!"
otokan
Sędziwy Jeż
Sędziwy Jeż
Posty: 65
Rejestracja: 11 gru 2008, 11:20
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [perl] wczytywanie częsci wiersza

Post autor: otokan »

@leon:
Po co podajesz opcję -a jak jej nie używasz? (man perlrun)

Kod: Zaznacz cały

echo "wer adsf jdf kl" | perl -lane 'print $F[0]';
Awatar użytkownika
leon1313
Zakręcona Traszka
Zakręcona Traszka
Posty: 668
Rejestracja: 02 sty 2006, 19:35
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: KDE Plasma
Architektura: x86

Odp: [perl] wczytywanie częsci wiersza

Post autor: leon1313 »

otokan pisze:@leon:
Po co podajesz opcję -a jak jej nie używasz? (man perlrun)
późno było....
"Poza tym dostałeś PLONKa i zabraniam Ci pisać na te grupe!!! Powiedziałem PLONK i sie zamknij i nawet nie knuj rzeby mi odpisywać! Zabraniam!!!"
mariusz198787
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 123
Rejestracja: 19 maja 2010, 19:50
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [perl] wczytywanie częsci wiersza

Post autor: mariusz198787 »

to zeby nie spamowac

Kod: Zaznacz cały

for($i=0;$i<scalar(@linie);$i++)
{
	if($linie[$i] =~/([2-9][0-9][0-9][0-9].[0-9][0-9].[0-9][0-9])/)
	{

		if(scalar(@data)==0)
		{push @data,$1;}
		else
		{
			for($i=0;$i<scalar(@data);$i++)
			{
				if($1 eq $data[$i]){}
				else{push @data,$1;}

			}
		}
	}}


ten kod odpowiada za wyszukiwanie foramtu liczb w pliku i zapisywanie ich (dane wczytywane z @linie i zapisywane do @data) chodzi o to ze to ma zapisywac do tablicy @data kolejne nie powtarzajace sie liczby jednak zapisuje wszytskie tzn. powtarzajace rowniez
Awatar użytkownika
leon1313
Zakręcona Traszka
Zakręcona Traszka
Posty: 668
Rejestracja: 02 sty 2006, 19:35
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: KDE Plasma
Architektura: x86

Odp: [perl] wczytywanie częsci wiersza

Post autor: leon1313 »

eeeeeee.. po elementach tablicy łatwiej się poruszać za pomocą foreach

Kod: Zaznacz cały

foerech(@tablica){
#element jest przypisany do $_
#...
#...
}
lub:

Kod: Zaznacz cały

foreach $element(@tablica){
#...
#...
}
sortowanie tablicy:

Kod: Zaznacz cały

@posortowana = sort {$b <=> $a} @nieposortowana;
Zaś co do powtórzeń:
http://piotao.math.univ.gda.pl/Perl/zad ... adania.php
"Poza tym dostałeś PLONKa i zabraniam Ci pisać na te grupe!!! Powiedziałem PLONK i sie zamknij i nawet nie knuj rzeby mi odpisywać! Zabraniam!!!"
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości