从文本文件获取最新日期

时间:2019-09-17 09:49:21

标签: bash shell

我有一个带有很多日期的文件作为字符串。我正在尝试使用shell命令从该文件中获取最新日期。

Dates
20171020
20171017
20180214 --This is latest date and needs to be returned 
20171206
20180122
README.md

3 个答案:

答案 0 :(得分:2)

您可以使用数字排序:

$ sort -n README.md | tail -1
20180214

如果仅包含多个数字(日期在每行的开头):

$ grep -oE '^[0-9]*' README.md  | sort -n | tail -1
20180214

答案 1 :(得分:1)

由于您使用的是数字形式的可排序日期格式,因此您可以执行以下操作:

awk '($1>t){t=$1}END{print t}' file

答案 2 :(得分:0)

(python3) vagrant@ubuntu:~$ cat test.txt
Dates
20171020
20171017
20180214
20171206
20180122

现在运行一些命令

(python3) vagrant@ubuntu:~$ cat test.txt | sort -nr | head -1
20180214