У меня есть текстовый файл ~ 1 ГБ с около 6 тыс. Строк (каждая строка очень длинная), и мне нужно случайным образом перемешать его строки. Является ли это возможным? Возможно с awk?
macos
awk
text-editing
ddmichael
источник
источник
brew install coreutils
и используй/usr/local/bin/gshuf
.cat myfile | perl -MList::Util=shuffle -e 'print shuffle(<STDIN>);'
Я точно уверен, насколько быстро он будет бегатьPython однострочный:
Читает все строки из стандартного ввода, перетасовывает их на месте, затем печатает их без добавления завершающей строки (обратите внимание
,
на конец).источник
Для OSX бинарный файл называется
gshuf
.источник
Если, как и я, вы пришли сюда, чтобы найти альтернативу
shuf
для macOS, используйтеrandomize-lines
.Установить
randomize-lines
(homebrew) пакет, в котором естьrl
команда, аналогичная функциональностиshuf
.brew install randomize-lines
источник
Я забыл, где я нашел это, но вот
shuffle.pl
что я использую:источник
По крайней мере, в Ubuntu есть программа под названием
shuf
источник