繁体   English   中英

“ * .txt”正则表达式如何与ls命令一起使用?

[英]How does “*.txt” regex work with ls command?

我有一个文件名

atxt

我正在运行此命令

ls * .txt

理想情况下,它应该匹配。 以'a'和*为零字符,但它返回的文件如下

a.txt,b.txt

ls在这里为什么要请客。 作为文字点,比正则表达式的任何字符都评级。

这称为文件遍历 ,而不是正则表达式

尽管两者都支持通配符,例如“?”,“ *”,但是它们具有不同的方案。

例如,glob中的“ a *”与以“ a”开头的任何文件名匹配,但是在正则表达式中,它与任何具有0个或多个字母“ a”的字符串匹配。 另一个区别是通配符“?” 正则表达式中的“ *”和“ *”必须具有前面的元素,而在遍历中则不必要。

至于最后一个问题,点“。” 在全球范围内没有特殊含义,它始终是文字点。 要在匹配中准确匹配一个未知字符,可以使用“?”。

它不是REGEX,而是通配符 ,其中*表示.txt之前的任何字符,这就是为什么要获取所有扩展名为.txt的文件的原因

文件和目录-WildCard

在CP / M,DOS,Microsoft Windows和类似Unix的操作系统中指定文件名(或路径)时,星号字符(*)会替换零个或多个字符。 在类似Unix的操作系统中,问号(“?”)只能替换一个字符

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM