“ sort -t。-k 1,1n -k 2,2n -k 3,3n -k 4,4n”如何工作?

时间:2018-10-27 18:48:30

标签: shell unix

我遇到了这个命令,该命令通过ip对主机文件进行排序,但是我只是无法分解语法,因此很有意义。我所了解的是,第一部分意味着将点用作分隔符,然后我迷失了所有逗号和其余参数:

$ 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 site1.com dev-db
192.168.100.102 site2.com prod-db
192.168.101.20  site3.com dev-web
192.168.101.21  site4.com prod-web

谢谢。

1 个答案:

答案 0 :(得分:0)

-k指定一个字段范围。 1,1(和其他两个)仅表示一个字段,以确保排序从左到右优先进行,然后在已排序的子集中进行。粘贴的n表示“按数字对列进行排序”。