31 lines
1.3 KiB
Markdown
31 lines
1.3 KiB
Markdown
|
---
|
|||
|
layout: post
|
|||
|
title: "Inverse of `sort`"
|
|||
|
date: 2011-09-18 14:57:31
|
|||
|
tags: [linux, command-line]
|
|||
|
permalink: /blog/2011/9/18/inverse-of-sort
|
|||
|
published: true
|
|||
|
author:
|
|||
|
name: Gergely Polonkai
|
|||
|
email: gergely@polonkai.eu
|
|||
|
---
|
|||
|
|
|||
|
I’m using \*NIX systems for about 14 years now, but it can still show me new
|
|||
|
things. Today I had to generate a bunch of random names. I’ve create a small
|
|||
|
perl script which generates permutations of some usual Hungarian first and
|
|||
|
last names, occasionally prefixing it with a ‘Dr.’ title or using double first
|
|||
|
names. For some reasons I forgot to include uniqueness check in the script.
|
|||
|
When I ran it in the command line, I realized the mistake, so I appended
|
|||
|
`| sort | uniq` to the command line. So I had around 200 unique names, but in
|
|||
|
alphabetical order, which was awful for my final goal. Thus, I tried shell
|
|||
|
commands like rand to create a random order, and when many of my tries failed,
|
|||
|
the idea popped in my mind (not being a native English speaker): “I don’t have
|
|||
|
to create «random order», but «shuffle the list». So I started typing `shu`,
|
|||
|
pressed Tab in the Bash shell, and voilà! `shuf` is the winner, it does just
|
|||
|
exactly what I need:
|
|||
|
|
|||
|
**NAME**
|
|||
|
shuf - generate random permutations
|
|||
|
|
|||
|
Thank you, Linux Core Utils! :)
|