GNU/Linux >> Znalost Linux >  >> Linux

Jak náhodně vzorkovat podmnožinu souboru?

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.


Linux
  1. Jak uložit výstup příkazu do souboru v Linuxu

  2. Jak používat příkaz Tar v Linuxu

  3. Jak připojit výstup do souboru?

  1. Jak vynutit smazání souboru?

  2. Jak vygenerovat částečný kontrolní součet souboru

  3. Jak upravit textový soubor v mém terminálu

  1. Linux File Command:Jak určit typ souboru v Linuxu

  2. Jak odstranit (smazat) soubor nebo adresář v Linuxu

  3. Jak používat příkaz md5sum v Linuxu