2013-02-26 50 views
1

目前我使用的linux(Fedora的15),我是個試圖在整個文件系統中的文件夾搜索喜歡用下面的命令如何通過終端Fedora中找到特定的文件夾

find/-name "apache-tomcat*" 

的執行上面的命令正在採取越來越多的時間,用戶不能等待和結果是像一些事情下面

[[email protected] fedrik]# find/-name "apache-tomcat*" 
find: `/proc/6236/task/6236/ns/net': No such file or directory 
find: `/proc/6236/task/6236/ns/uts': No such file or directory 
find: `/proc/6236/task/6236/ns/ipc': No such file or directory 
find: `/proc/6236/ns/net': No such file or directory 
find: `/proc/6236/ns/uts': No such file or directory 
find: `/proc/6236/ns/ipc': No such file or directory 
find: `/proc/6462/task/6462/ns/net': No such file or directory 
................. 
................. 

但正如我剛纔提到它是需要長時間來處理,有時它被strucked,所以任何人都可以請讓我知道如何使用ac按名稱搜索特定文件夾ommand從Linux終端,這將是非常快,像上面我用'/'

編輯

其實我的目的是要搜索的文件夾類似apache-tomcat-7.0.37在整個文件系統在整個文件系統應搜索,

例如可能有很多文件夾一樣apache-tomcat-6.0.45apache-tomcat-5.1.7apache-tomcat-5.0.37 ...........的不同位置上的文件系統

所以因爲我們只能觀察到最後一部分(這是數字部分)正在改變,整個文件夾名稱是相同的,所以有沒有辦法搜索這些類型的文件夾,而不考慮最後一個數字部分,比如使用正則表達式或somethingl那個。

最後我的意圖是要找到整個文件系統格式apache-tomcat-xxxxxxx的文件夾,因爲如果我們搜索剛剛apache-tomcat我們將獲得數百個結果,甚至數千人有時是難以分析並從中 搜索?

+0

如果只有某種方式來過濾輸出並刪除不需要的結果! (這是諷刺,「男人grep」) – 2013-02-26 14:27:16

回答

2

試試這個:

locate apache-tomcat 

它使用一個數據庫(由歡快名爲updatedb,您可以用sudo updatedb運行刷新搜索索引更新)。

+0

謝謝,有些幫助,請你看看我上面編輯的問題? – Fedrik 2013-02-26 14:03:53

0
locate apache-tomcat | grep -E '^apache-tomcat-[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+$' 

或者只是使用[0-9]代替[[:digit:]]。這可能更具可讀性。或

locate apache-tomcat | perl -ne 'print if /^apache-tomcat-\d+\.\d+\.\d+$/' 

不管你做什麼,你一定要使用locate而不是find,因爲這將是更快。

+0

我已經檢查了兩個命令並返回了一個空的結果......實際上,我在「/opt/tomcat/apache-tomcat-7.0.37」中找到了該文件夾。所以通過運行上面的命令得到空的結果... – Fedrik 2013-02-27 05:19:27

+0

你運行'upatedb',因爲在opt中的文件被創建? 'locate'從必須更新的數據庫中運行。如果找到的結果是過濾器未捕獲,請修復過濾器。 – 2013-02-27 12:33:14

+0

是的,我已經運行了第一個updatedb命令,並在上述兩個命令後,但沒有工作 – Fedrik 2013-02-27 13:05:06

相關問題