2016-12-23 31 views
1

我試圖運行了以下工作:發現-regex不{}符

find /var/log/sa/ -regex ".*/sa[0\-3]\{2\}" 

然而,這不返回任何結果。我可以在/var/log/sa/看到文件存在,sa##sar##兩種格式 - 我只想匹配前者。

ll /var/log/sa/ 
total 40992 
-rw-r--r-- 1 root root 719892 Dec 1 23:50 sa01 
-rw-r--r-- 1 root root 719892 Dec 2 23:50 sa02 
-rw-r--r-- 1 root root 719892 Dec 3 23:50 sa03 
-rw-r--r-- 1 root root 719892 Dec 4 23:50 sa04 
-rw-r--r-- 1 root root 719892 Dec 5 23:50 sa05 
-rw-r--r-- 1 root root 719892 Dec 6 23:50 sa06 
-rw-r--r-- 1 root root 719892 Dec 7 23:50 sa07 
-rw-r--r-- 1 root root 719892 Dec 8 23:50 sa08 
-rw-r--r-- 1 root root 719892 Dec 9 23:50 sa09 
-rw-r--r-- 1 root root 719892 Dec 10 23:50 sa10 
-rw-r--r-- 1 root root 719892 Dec 11 23:50 sa11 
-rw-r--r-- 1 root root 719892 Dec 12 23:50 sa12 
-rw-r--r-- 1 root root 719892 Dec 13 23:50 sa13 
-rw-r--r-- 1 root root 719940 Dec 14 23:50 sa14 
-rw-r--r-- 1 root root 719892 Dec 15 23:50 sa15 
-rw-r--r-- 1 root root 719892 Dec 16 23:50 sa16 
-rw-r--r-- 1 root root 719892 Dec 17 23:50 sa17 
-rw-r--r-- 1 root root 719892 Dec 18 23:50 sa18 
-rw-r--r-- 1 root root 719892 Dec 19 23:50 sa19 
-rw-r--r-- 1 root root 719892 Dec 20 23:50 sa20 
-rw-r--r-- 1 root root 719892 Dec 21 23:50 sa21 
-rw-r--r-- 1 root root 719892 Dec 22 23:50 sa22 
-rw-r--r-- 1 root root 669932 Dec 23 22:10 sa23 
-rw-r--r-- 1 root root 719892 Nov 24 23:50 sa24 
-rw-r--r-- 1 root root 719892 Nov 25 23:50 sa25 
-rw-r--r-- 1 root root 719892 Nov 26 23:50 sa26 
-rw-r--r-- 1 root root 719892 Nov 27 23:50 sa27 
-rw-r--r-- 1 root root 719892 Nov 28 23:50 sa28 
-rw-r--r-- 1 root root 719892 Nov 29 23:50 sa29 
-rw-r--r-- 1 root root 719892 Nov 30 23:50 sa30 
-rw-r--r-- 1 root root 673355 Dec 1 23:53 sar01 
-rw-r--r-- 1 root root 673355 Dec 2 23:53 sar02 
-rw-r--r-- 1 root root 673355 Dec 3 23:53 sar03 
-rw-r--r-- 1 root root 673355 Dec 4 23:53 sar04 
-rw-r--r-- 1 root root 673355 Dec 5 23:53 sar05 
-rw-r--r-- 1 root root 673355 Dec 6 23:53 sar06 
-rw-r--r-- 1 root root 673355 Dec 7 23:53 sar07 
-rw-r--r-- 1 root root 673355 Dec 8 23:53 sar08 
-rw-r--r-- 1 root root 673355 Dec 9 23:53 sar09 
-rw-r--r-- 1 root root 673355 Dec 10 23:53 sar10 
-rw-r--r-- 1 root root 673355 Dec 11 23:53 sar11 
-rw-r--r-- 1 root root 673355 Dec 12 23:53 sar12 
-rw-r--r-- 1 root root 673355 Dec 13 23:53 sar13 
-rw-r--r-- 1 root root 674697 Dec 14 23:53 sar14 
-rw-r--r-- 1 root root 673355 Dec 15 23:53 sar15 
-rw-r--r-- 1 root root 673355 Dec 16 23:53 sar16 
-rw-r--r-- 1 root root 673355 Dec 17 23:53 sar17 
-rw-r--r-- 1 root root 673355 Dec 18 23:53 sar18 
-rw-r--r-- 1 root root 673355 Dec 19 23:53 sar19 
-rw-r--r-- 1 root root 673355 Dec 20 23:53 sar20 
-rw-r--r-- 1 root root 673355 Dec 21 23:53 sar21 
-rw-r--r-- 1 root root 673355 Dec 22 23:53 sar22 
-rw-r--r-- 1 root root 673355 Nov 23 23:53 sar23 
-rw-r--r-- 1 root root 673355 Nov 24 23:53 sar24 
-rw-r--r-- 1 root root 673355 Nov 25 23:53 sar25 
-rw-r--r-- 1 root root 673355 Nov 26 23:53 sar26 
-rw-r--r-- 1 root root 673355 Nov 27 23:53 sar27 
-rw-r--r-- 1 root root 673355 Nov 28 23:53 sar28 
-rw-r--r-- 1 root root 673355 Nov 29 23:53 sar29 
-rw-r--r-- 1 root root 673355 Nov 30 23:53 sar30 
+0

嘗試'「。*/sa [0-3] \ {2 \}」' –

+0

試過了,沒有骰子 – MrDuk

+0

你能提供一些真實的文件名嗎? (無##,真實數字) – Dekel

回答

1

你應該使用:

find /var/log/sa/ -regex ".*/sa[0-3][0-9]" 

由於sa後的第一個字符應該是0/1/2/3和第二個字符應是任何數字。

{..}不起作用的原因是GNU的查找不支持{from,to}語法。 The default regex in find is emacs,但GNU使用的版本不支持{..}語法。

0
find /var/log/sa/ -regextype posix-egrep -regex '.*/sa[0-3]{2}' 

您必須使用posix-egrep。