- Hack 23. Sort Command Examples
- Sort a text file in ascending order
- Sort a text file in descending order
- Sort a colon delimited text file on 2nd field (employee_id)
- Sort a tab delimited text file on 3rd field (department_name) and suppress duplicates
- Sort the passwd file by the 3rd field (numeric userid)
- Sort /etc/hosts file by ip-address
- Combine sort with other commands
Hack 23. Sort Command Examples
by Ramesh
Sort command sorts the lines of a text file. Following are several practical examples on how to use the sort command based on the following sample text file that has employee information in the format:
- employee_name:employee_id:department_name.
- $ cat names.txt
- Emma Thomas:100:Marketing
- Alex Jason:200:Sales
- Madison Randy:300:Product Development
- Sanjay Gupta:400:Support
- Nisha Singh:500:Sales
Sort a text file in ascending order
- $ sort names.txt
- Alex Jason:200:Sales
- Emma Thomas:100:Marketing
- Madison Randy:300:Product Development
- Nisha Singh:500:Sales
- Sanjay Gupta:400:Support
Sort a text file in descending order
- $ sort -r names.txt
- Sanjay Gupta:400:Support
- Nisha Singh:500:Sales
- Madison Randy:300:Product Development
- Emma Thomas:100:Marketing
- Alex Jason:200:Sales
Sort a colon delimited text file on 2nd field (employee_id)
- $ sort -t: -k 2 names.txt
- Emma Thomas:100:Marketing
- Alex Jason:200:Sales
- Madison Randy:300:Product Development
- Sanjay Gupta:400:Support
- Nisha Singh:500:Sales
Sort a tab delimited text file on 3rd field (department_name) and suppress duplicates
- $ sort -t: -u -k 3 names.txt
- Emma Thomas:100:Marketing
- Madison Randy:300:Product Development
- Alex Jason:200:Sales
- Sanjay Gupta:400:Support
Sort the passwd file by the 3rd field (numeric userid)
- $ sort -t: -k 3n /etc/passwd | more
- root:x:0:0:root:/root:/bin/bash
- bin:x:1:1:bin:/bin:/sbin/nologin
- daemon:x:2:2:daemon:/sbin:/sbin/nologin
- adm:x:3:4:adm:/var/adm:/sbin/nologin
- lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
Sort /etc/hosts file by ip-address
- $ sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n /etc/hosts
- 127.0.0.1 localhost.localdomain localhost
- 192.168.100.101 dev-db.thegeekstuff.com dev-db
- 192.168.100.102 prod-db.thegeekstuff.com prod-db
- 192.168.101.20 dev-web.thegeekstuff.com dev-web
- 192.168.101.21 prod-web.thegeekstuff.com prod-web
Combine sort with other commands
- ps –ef | sort : Sort the output of process list
- ls -al | sort +4n : List the files in the ascending order of the file-size. i.e sorted by 5th filed and displaying smallest files first.
- ls -al | sort +4nr : List the files in the descending order of the file-size. i.e sorted by 5th filed and displaying largest files first.
当前内容版权归 Ramesh Natarajan 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Ramesh Natarajan .