在Linux shell中,可以使用sort对文本快速排序,排序的单位是行
例如有一个需要排序的文件
vim catlog
maximus:24:2019:90552
junmeng:27:2017:90551
luoji:35:2010:20557
使用下面的命令排序:
sort -n -t : -k 3 catlog >> ranked_log
其中,-n表示按照数字升序排序,-t :表示以冒号作为分隔符,将每一行分割,-k 3表示每一行的第三列作为排序的参照。命令的输出被追加到ranked_log中。
vim ranked_log
luoji:35:2010:20557
junmeng:27:2017:90551
maximus:24:2019:90552
已经完成了排序
如果我们把文本中的冒号换成括号:
vim catlog
[24]3[2019][1]
[27]2[2017][2]
[35]1[2018][3]
[64]1[2010][3]
[98]2[2020][3]
[10]3[2012][2]
[12]4[2022][1]
如果使用下面的命令排序:
可以看到,每行的字符并不是严格按照"["分割的,而是以"[]"中间的内容作为排序的参照,括号之外的被排除在外。