Alternativer til GNU sort for tilfældiggørelse af inputlinjer på OSX - Effektive metoder og værktøjer

Findes der en anden tekstfiltreringsfunktion på OSX, der kan tilfældiggøre inputlinjer, da GNU sort har en ikke-standard -R mulighed, som OSX sort ikke har?

Findes der en anden tekstfiltreringsfunktion på OSX, der kan tilfældiggøre inputlinjer? Ja, alternativer som shuf, awk, perl og python kan bruges til at tilfældiggøre inputlinjer på OSX.

Alternativer til GNU sort for tilfældiggørelse af inputlinjer på OSX

Ja, der findes andre metoder til at tilfældiggøre inputlinjer på OSX, da GNU sort har en ikke-standard -R mulighed, som OSX sort ikke har. Her er nogle alternativer:

  • shuf
    • En del af GNU coreutils, men ikke inkluderet som standard på OSX.
    • Kan installeres via Homebrew: brew install coreutils
    • Brug: shuf inputfile
  • awk
    • En kraftfuld tekstbehandlingssprog, der kan bruges til at tilfældiggøre linjer.
    • Eksempel: awk 'BEGIN {srand()} {print rand(), $0}' inputfile | sort -n | cut -d' ' -f2-
  • perl
    • Et alsidigt scriptsprog, der kan bruges til at tilfældiggøre linjer.
    • Eksempel: perl -MList::Util=shuffle -e 'print shuffle();' < inputfile
  • python
    • Et populært programmeringssprog, der kan bruges til at tilfældiggøre linjer.
    • Eksempel: python -c "import random, sys; lines = sys.stdin.readlines(); random.shuffle(lines); print(''.join(lines))" < inputfile

Disse metoder giver dig mulighed for at tilfældiggøre inputlinjer på OSX uden at skulle bruge GNU sort's -R mulighed.