OSX'deki gnu `sort -R` eşdeğeri?


37

GNU sortmetin programı, -Rgiriş satırlarını rastgele ayarlamak için standart dışı bir seçenek sunar.

OSX sortbu uzantıya sahip değil. Başka bir metin filtresinde benzer işlevler var mı?

Yanıtlar:


49

İsterseniz, GNU’yu , OS X’in bir paket yöneticisi olan Homebrew’esort GNU'nun coreutils paketi üzerinden yükleyebilirsiniz .

Bunu çalıştırmak Homebrew'i kuracaktı.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Ardından kurulum talimatlarını takip edin. Homebrew yüklendiğinde, çalıştır

brew install coreutils

Bu GNU sıralamasını aynen yükleyecektir gsort, böylece sortherhangi bir GNU Linux'ta olduğu gibi kullanabilirsiniz .


Alternatif olarak, birkaç yöntemden bahseden Stack Overflow sorularına bir göz atın:

Redhat Linux'ta standart bir araç kullanarak bir dosyadaki satırları
nasıl rastgele ayarlayabilirim? Unix komut satırında bir metin dosyasının satırlarını nasıl karıştırabilirim?

Veya bu commandlinefu.com sayfasına bir göz atın:

Satırları rasgele hale getir (sırala) |


Homebrew seçeneği, bağlantılı awk veya perl yapılarında olduğu gibi çalışır (yavaş olduklarını hayal etsem de).
phs

6

OS X'te, homebrew yüklemek istemiyorsanız (ancak gerçekten yapmanız gerekir), perlveya kullanabilirsiniz ruby:

perl -MList::Util -e 'print List::Util::shuffle <>'

veya

ruby -e 'puts STDIN.readlines.shuffle'

0

Kullanın shufveya sortgelen coreutilspaketin, ancak ardından eklemek ettik /usr/local/binsizin için PATHde ~/.bashrcörneğin, dosyaya:

export PATH=/usr/local/sbin:/usr/local/bin:$PATH

Alternatif olarak deneyebilirsiniz ex:

ex -s +"%s/^/\=reltimestr(reltime())[-2:].' '" +"sort n" +"%s/^\S* //" +%p -cq! /dev/stdin

Kaynak: Vim'de bir liste nasıl karıştırılır?


0

rlKomutu homebrew ( brew install randomize-lines) ile yükleyebilirsiniz .

Oldukça hızlıdır ve döndürülen öğelerin sayısını sınırlamanın yanı sıra sınırlayıcıyı (örneğin satır besleme yerine boşluk) belirtme seçeneklerine sahiptir.

(Ayrıca bkz . Https://stackoverflow.com/a/42056195/43615 .)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.