Akkon pisze:ponton pisze:Na szybko w Perlu
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?
W żadnym, zapisujesz to do pliku np. randomline.pl, nadajesz mu prawa do uruchomienia (chmod +x randomline.pl) i wywołujesz:
beel pisze:Albo z Pythonem, na jeszcze szybciej:
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()
¦cieżkę widać gdzie podać. Linie losuje na całej zawartości pliku.
To jest trochę nieoptymalne najpierw wczytać plik, żeby policzyć liczbę wierszy, a potem znowu wczytać plik, żeby wyświetlić wylosowany wiersz. ]import random
filePath = "/home/beel/zadanie/przypadkowy"
zawartosc = open(filePath, 'rU').readlines()
wiersz = random.randint(0, len(zawartosc))
print zawartosc[wiersz][/code]
Do kompletu jeszcze wersja w AWK-u. Przetestuj i wybierz najszybszą. :P
Kod: Zaznacz cały
#!/usr/bin/awk -f
BEGIN {
srand()
i = 0
}
{
lines[i] = $0
++i
}
END {
print lines[int(rand()*i)]
}