Kod: Zaznacz cały
sed -n xp plik
Z góry dziękuję za pomoc
Kod: Zaznacz cały
sed -n xp plik
Kod: Zaznacz cały
#!/usr/bin/perl
if ($#ARGV > 0)
{
open(FILE, $ARGV[1]);
@file = <FILE>;
my $index = rand @file;
my $line = @file[$index];
print $line;
close FILE;
}
else
{
print "Missing argument!\n"
}
Kod: Zaznacz cały
import linecache
import random
filePath = "/home/beel/zadanie/przypadkowy"
liczba_linii = len(open(filePath, 'rU').readlines())
print linecache.getline(filePath, random.randint(0,liczba_linii))
linecache.clearcache()
Kod: Zaznacz cały
print linecache.getline(filePath, random.randint(1,100))
linecache.clearcache()
Kod: Zaznacz cały
liczba_linii = len(open(filePath, 'rU').readlines())
print linecache.getline(filePath, random.randint(0,liczba_linii))
linecache.clearcache()
Kod: Zaznacz cały
random.randint(1,100)
W żadnym, zapisujesz to do pliku np. randomline.pl, nadajesz mu prawa do uruchomienia (chmod +x randomline.pl) i wywołujesz:Akkon pisze:Dzięki. Gdybyś był jeszcze tak miły i napisał, takiej całkowitej lamie z programowania jak ja :mrgreen: , w którym dokładnie miejscu mam podać lokalizację do mojego pliku?ponton pisze:Na szybko w Perlu
Kod: Zaznacz cały
./randomline.pl plik.txt
To jest trochę nieoptymalne najpierw wczytać plik, żeby policzyć liczbę wierszy, a potem znowu wczytać plik, żeby wyświetlić wylosowany wiersz. ]import randombeel pisze:Albo z Pythonem, na jeszcze szybciej:
¦cieżkę widać gdzie podać. Linie losuje na całej zawartości pliku.Kod: Zaznacz cały
import linecache import random filePath = "/home/beel/zadanie/przypadkowy" liczba_linii = len(open(filePath, 'rU').readlines()) print linecache.getline(filePath, random.randint(0,liczba_linii)) linecache.clearcache()
Kod: Zaznacz cały
#!/usr/bin/awk -f
BEGIN {
srand()
i = 0
}
{
lines[i] = $0
++i
}
END {
print lines[int(rand()*i)]
}
Kod: Zaznacz cały
./randomline.awk < plik.txt
Kod: Zaznacz cały
wiersz = random.randint(0, len(zawartosc)-1)
Niestety nie działa cały czas otrzymuję komunikatponton pisze:zapisujesz to do pliku np. randomline.pl, nadajesz mu prawa do uruchomienia (chmod +x randomline.pl) i wywołujesz
Kod: Zaznacz cały
Missing argument!
Tu jest ok.ponton pisze:Do kompletu jeszcze wersja w AWK-u. Przetestuj i wybierz najszybszą. :P
Skrypt po modyfikacjach działa. Rożnicy w szybkości nie zauważyłem :-Dbeel pisze:Dałbym:
Kod:
wiersz = random.randint(0, len(zawartosc)-1)
Nie piszę w Perlu i jakiś problem miałem z liczbą argumentów... Możesz wykasować tego if-a i else-a i zostawić tylko to, co jest w pierwszej klamrze.Akkon pisze:Niestety nie działa cały czas otrzymuję komunikatKod: Zaznacz cały
Missing argument!