69 lines
1.4 KiB
Markdown
69 lines
1.4 KiB
Markdown
|
---
|
||
|
title: Bash Sort
|
||
|
---
|
||
|
|
||
|
## Bash Sort
|
||
|
|
||
|
Sort is one a simple and useful command which will rearrange the lines in a text file so that they are sorted, numerically and alphabetically. There are by default the following rules for sorting text:
|
||
|
|
||
|
* numbers will appear befor a letter
|
||
|
* letter that appears earlier in the alphabet will appear before a letter that appears later in the alphabet
|
||
|
* lowercase letters will appear before lines with the same letter in uppercase
|
||
|
|
||
|
The default rules of sorting can be changes by the options you provice to the command.
|
||
|
|
||
|
### Usage
|
||
|
|
||
|
```bash
|
||
|
sort [options] [file_names]
|
||
|
```
|
||
|
|
||
|
Most used options:
|
||
|
|
||
|
* `-b`, ignore leading blanks.
|
||
|
* `-f`, fold lower case to upper case characters.
|
||
|
* `-h`, compare human readable numbers (e.g., "2K", "1G").
|
||
|
* `-r`, reverse the result of comparisons.
|
||
|
* `-R`, sort in a random order
|
||
|
|
||
|
|
||
|
### Example
|
||
|
|
||
|
We have a file **data.txt**, which contains the following text:
|
||
|
```bash
|
||
|
apples
|
||
|
oranges
|
||
|
pears
|
||
|
kiwis
|
||
|
bananas
|
||
|
```
|
||
|
To sort the lines in the file alphabetically, use the following command:
|
||
|
|
||
|
```bash
|
||
|
sort data.txt
|
||
|
```
|
||
|
which will produce the following output:
|
||
|
```bash
|
||
|
apples
|
||
|
bananas
|
||
|
kiwis
|
||
|
oranges
|
||
|
pears
|
||
|
```
|
||
|
|
||
|
To reverse the sorting order, we using the `-r` flag.
|
||
|
```bash
|
||
|
sort -r data.txt
|
||
|
```
|
||
|
which will produce the following output:
|
||
|
```bash
|
||
|
pears
|
||
|
oranges
|
||
|
kiwis
|
||
|
bananas
|
||
|
apples
|
||
|
```
|
||
|
|
||
|
#### More Information:
|
||
|
* Wikipedia: https://en.wikipedia.org/wiki/Sort_(Unix)
|