需要将以下内容,按照第一列的时间排序展示:
//test.txt
2020-01-14 test1
2019-12-23 test2
2019-07-11 test3
2019-07-16 test4
2019-09-01 test5
2019-09-10 test6
2019-12-23 test7
2019-11-16 test8
2019-10-11 test9
2019-11-22 test10
通过 awk 和 sort 配合实现:
cat test.txt | awk '{print $1 "-" $2}' | sort -n -k 1 -k 2 -k 3 -t '-' | awk -F'-' '{print $1"-"$2"-"$3" "$4}'
输出结果:
//test.txt 处理后结果
2019-07-11 test3
2019-07-16 test4
2019-09-01 test5
2019-09-10 test6
2019-10-11 test9
2019-11-16 test8
2019-11-22 test10
2019-12-23 test2
2019-12-23 test7
2020-01-14 test1