Existuje nějaký příkaz Linuxu, který lze použít k ukázce podmnožiny souboru? Například soubor obsahuje jeden milion řádků a my chceme z tohoto souboru náhodně vybrat pouze tisíc řádků.
Pro náhodu mám na mysli, že každý řádek má stejnou pravděpodobnost, že bude vybrán, a žádný z vybraných řádků se neopakuje.
head
a tail
může vybrat podmnožinu souboru, ale ne náhodně. Vím, že k tomu mohu vždy napsat python skript, ale zajímalo by mě, zda existuje příkaz pro toto použití.
Přijatá odpověď:
shuf
příkaz (součást coreutils) to umí:
shuf -n 1000 file
A alespoň prozatím nestarověké verze (přidané v potvrzení z roku 2013), které budou v případě potřeby používat vzorkování z rezervoáru, což znamená, že by jim neměla docházet paměť a používají rychlý algoritmus.
Použití odkazu na proměnnou bashového řetězce v Sed?
Linux – Jak smazat soubory vytvořené mezi dvěma časy?