我有一个以下格式的文件
222 aaaaa 2021-12-24
333fd bbb 2021-09-1
444 cc 2022-01-16
555 zzz 2021-08-21
6666 www 2021-09-5
777 yyy 2021-03-14
888 xxx 2021-11-27
999 ffffff 2021-12-4
我正在尝试根据日期列对文件进行排序。
我尝试排序:
- 使用选项
-t "-" -k2
分隔符但不起作用。(至少尝试按月排序) - 带选项
-k3.4
(可在 2021/2022 年第 4 个字符前订购),带管道| sort -n -k3.5
但不起作用
答案1
YYYY-MM-DD 可以按字母顺序排序,因此您唯一需要做的就是在日期前添加前导零。
sed -E 's/-(.)$/-0\1/' file | sort -k3
您可以添加| sed -E 's/-0(.)$/-\1/'
以恢复原始格式(但为什么?)。