Saya memiliki file teks ~ 1GB dengan sekitar 6k baris (setiap baris sangat panjang) dan saya perlu secara acak mengacak barisnya. Apa itu mungkin? Mungkin dengan awk?
macos
awk
text-editing
ddmichael
sumber
sumber
brew install coreutils
dan gunakan/usr/local/bin/gshuf
.cat myfile | perl -MList::Util=shuffle -e 'print shuffle(<STDIN>);'
Saya perhatikan pasti seberapa cepat akan berjalanPython one-liner:
Membaca semua baris dari input standar, mengocoknya di tempat, lalu mencetaknya tanpa menambahkan baris akhir (perhatikan
,
dari akhir).sumber
Untuk OSX biner disebut
gshuf
.sumber
Jika seperti saya Anda datang ke sini untuk mencari alternatif
shuf
untuk MacOS kemudian gunakanrandomize-lines
.Instal
randomize-lines
(homebrew) paket, yang memilikirl
perintah yang memiliki fungsi serupa denganshuf
.brew install randomize-lines
sumber
Saya lupa di mana saya menemukan ini, tetapi inilah
shuffle.pl
yang saya gunakan:sumber
Setidaknya di ubuntu, ada program yang disebut
shuf
sumber