[英]How to list out specific files with dates in the file name in unix shell
如果我要重复一个问题,我深表歉意。 我的Google技能暂时离开了我,而且我不知道该如何用词表达问题以找到答案。
我在UNIX服务器上工作,我有一堆文件以这种格式作为文件名:
alert_YYYY-MM-DD.tsv
我正在尝试根据日期列出特定范围的文件,但是由于某种原因,它无法正常工作。
出于某些原因,这可以工作:
$ ls alert_2015-08-0[1-9].tsv
alert_2015-08-01.tsv alert_2015-08-04.tsv alert_2015-08-07.tsv
alert_2015-08-02.tsv alert_2015-08-05.tsv alert_2015-08-08.tsv
alert_2015-08-03.tsv alert_2015-08-06.tsv alert_2015-08-09.tsv
但这并不存在,即使文件存在:
$ ls alert_2015-08-[10-15].tsv
ls: alert_2015-08-[10-15].tsv: No such file or directory
$ ls alert_2015-08-1[0-5].tsv ### but the files exist in the directory!!
alert_2015-08-10.tsv alert_2015-08-12.tsv
alert_2015-08-11.tsv alert_2015-08-14.tsv
我也在尝试从一位数字到十几岁或十几岁到20多岁,但它也不起作用,尽管这可能比上面更困难:
e.g.
$ ls alert_2015-08-[09-15].tsv
ls: alert_2015-08-[09-15].tsv: No such file or directory
我不确定这是一个全局问题还是正则表达式问题,但是这很烦人,因为从逻辑上讲,我上面写的内容应该可以工作,但不能,并且我不明白为什么,除了我的语法错误。 在此先感谢您的帮助。
[]中的数字最多应为0-9。
$ ls alert_2015-08-[0-1][0-9].tsv
alert_2015-08-01.tsv alert_2015-08-10.tsv alert_2015-08-14.tsv
alert_2015-08-04.tsv alert_2015-08-11.tsv
alert_2015-08-07.tsv alert_2015-08-12.tsv
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.