【发布时间】:2016-01-06 20:36:54
【问题描述】:
如果我问了一个重复的问题,我深表歉意。我的谷歌技能暂时离开了我,我不知道如何用我的问题来寻找答案。
我正在使用 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
我不确定这是一个全局问题还是正则表达式问题,但这很烦人,因为从逻辑上讲,我上面写的内容应该有效,但它没有,我不明白为什么,除了语法错误。提前感谢您的帮助。
【问题讨论】:
-
尝试在这里提问unix.stackexchange.com