2010-07-02 42 views
2

在/ tmp目錄,我有以下文件找到-regex標誌TI匹配文件

file1 
file2 

當我運行-regex以下find命令,find命令不匹配的文件 爲什麼呢?

find /tmp -regex '/file(\d{1,3})/' 

回答

2

man find頁:

-regex模式

文件名正則表達式匹配。這是整個路徑上的匹配,而不是搜索。例如,要匹配名爲./fubar3的文件,可以使用正則表達式.*bar..*b.*3,但不能使用f.*r3

另外,\d{m,n}似乎不被支持。以下作品:

find /tmp -regex ".*file[0-9]+$" 
0

我認爲它是unix。 find /tmp -type f -exec grep -il "whatever_you_want_in_file" {} \; 該遞歸搜索在/ tmp 項,但你可能想 ls -a | grep file[0-9][0-9]?[0-9]? 的/ tmp目錄只或 find /tmp -regexp "file[0-9][0-9]?[0-9]?" 並非所有的炮彈支持\ d爲一個數字外卡,也/是沒有必要的。我知道它被用作Perl中的作業。