我知道命令最后 | tac 就足够了,但我想使用 sort 命令来完成。我无法按列对其进行排序,它总是仅对第一个进行排序。在 Arch Linux 上使用 bash。
答案1
看来你不能依赖字段,所以你需要依赖字符列
1 2 3 4 5 6 7
1234567890123456789012345678901234567890123456789012345678901234567890123456789
stephane pts/0 :0 Fri Aug 1 09:48 - 14:34 (17+04:45)
stephane pts/13 :0 Fri Aug 1 16:27 - 13:51 (20+21:24)
由此可知:
last | sort -k1.44,1.46M -k1.48,1.49n -k51
请注意,M
按月份名称排序的标志不是标准的,但在sort
包括 GNU sort
(通常在 ArchLinux 上找到)在内的多种实现中可用。请注意,sort
解释当前语言环境中的月份名称,同时last
始终输出英文月份名称,因此您可能需要在非英语语言环境中运行 if sort
。LC_TIME=C