我们在同一文件夹中有每小时和每天的文件:
data-2015-06-06-00.tsv
data-2015-06-06-01.tsv
data-2015-06-06-02.tsv
data-2015-06-06-03.tsv
data-2015-06-06.tsv
data-2015-06-07-03.tsv
data-2015-06-07-02.tsv
data-2015-06-07.tsv
如何从文件列表中获取唯一的日报。
我只需要 data-2015-06-06.tsv data-2015-06-07.tsv
答案1
另外三个选项:
ls | grep ^data-...........tsv
或者:
ls | grep ^data-"[[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}.tsv"
或者:
ls | grep ^data-[1-2][0-1][0-9][0-9]-[0-1][0-9]-[0-1][0-9].tsv
答案2
今天的:
ls date-$(date +%Y-%m-%d)*
昨天的:
ls date-$(date +%Y-%m-%d -d yesterday )*
在哪里
date +%Y-%m-%d
将格式化日期-d yesterday
使用昨天的日期$( )
构造、运行命令并将输出用作字符串
我假设您无法转发文件的上次修改时间。
编辑:
从今天起避免每小时:
ls date-$(date +%Y-%m-%d).tsv
只得到日常使用@lcd047 的答案。