簡體   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