Unix 列出get文件(带日期或不带日期)

Unix 列出get文件(带日期或不带日期),unix,ksh,ls,Unix,Ksh,Ls,我有像file123.txt,file.txt 但是当我运行ls-l文件[0-9]*.txt时,我只得到file123.txt 如何获取这两个文件?我以为*的意思是“0或更多”,但它不起作用。(如果相关,我使用的是ksh)。如果要添加数字过滤器,只需删除此项即可返回以“file”开头并以“.txt”结尾的文件: ls -l file*.txt 它是模式匹配,而不是正则表达式 [0-9]和*是不同的模式*不是正则表达式中的修饰符 * Matches any string, including t

我有像
file123.txt
file.txt

但是当我运行
ls-l文件[0-9]*.txt
时,我只得到
file123.txt


如何获取这两个文件?我以为
*
的意思是“0或更多”,但它不起作用。(如果相关,我使用的是ksh)。

如果要添加数字过滤器,只需删除此项即可返回以“file”开头并以“.txt”结尾的文件:

ls -l file*.txt

它是模式匹配,而不是正则表达式

[0-9]
*
是不同的模式<代码>*不是正则表达式中的修饰符

* Matches any string, including the null string.
[...]  Matches  any  one  of the enclosed characters.
您可以使用模式列表,其中
*
是所附模式列表的前缀

*(pattern-list) Matches zero or more occurrences of the given patterns.
ls file*([0-9])。txt将是零位或多位数字的语法

$ ls file*.txt
file123.txt  filea.txt  file.txt
$ ls file*([0-9]).txt
file123.txt  file.txt
有关详细信息,请参阅
man ksh
中的“文件名生成”。
更多的例子可以在这里找到

ls-l文件[0-9]*.txt-这个怎么样?文件后是否至少需要一个数字?我查看了两个教程,他们说[0-9]*期望零或更多。那么,在这种情况下,我的命令应该有效吗?是的,[0-9]至少需要一个数字。可能教程是指零这个数字?您可以快速测试这两个命令以查看。@Adriana是否可能是所描述的
正则表达式
?符号集类似,但其含义不同于文件名的Bash
模式匹配。
ls-l | egrep'文件[0-9]*.txt'
请参阅: