1樓:為學導航
查詢目錄下的所有檔案中是否含有某個字串
查詢目錄下的所有檔案中是否含有某個字串
find .|xargs grep -ri "ibm"
查詢目錄下的所有檔案中是否含有某個字串,並且只列印出檔名
find .|xargs grep -ri "ibm" -l
1.正規表示式
(1)正規表示式一般用來描述文字模式的特殊用法,由普通字元(例如字元a-z)以及特殊字元(稱為元字元,如/、*、?等)組成。
(2)基本元字符集及其含義
^ :只匹配行首。 如^a 匹配以a開頭的行abc,a2e,a12,aaa,......
$ :只匹配行尾。 如^a 匹配以a結尾的行bca,12a,aaa,.......
* :匹配0個或多個此單字元。 如(a)* 匹配 空,a,aa,aaa,....
:只匹配內字元。可以是一個單字元,也可以是字元序列,用","將裡面要匹配的不同字串分開。也可以使用-來表示內字元序列的範圍,如[1-5]表示[12345]
\ :只用來遮蔽一個元字元的特殊含義。 如\*,\',\",\|,\+,\^,\. 等
.:(點)只匹配任意單字元。
pattern\:只用來匹配前面pattern出現的次數.n為次數。如a\匹配aa.
pattern\:含義同上,但次數最少為n.如a\匹配aa,aaa,aaaa,.....
pattern\:含義同上,但次數在n和m之間。如a\匹配aa,aaa,aaaa三個
(3)舉例說明:
^$ :匹配空行
^.$ :匹配包含一個字元的行
\*\.pas :匹配以*.pas結尾的所有字元或檔案
[0123456789]或[0-9] :假定要匹配任意一個數字
[a-z] :任意小寫字母
[a-za-z] :任意大小寫字母
[s,s] :匹配大小寫s
[0-9]\\.[0-9]\\.[0-9]\\.
[0-9]\ :匹配ip地址 [0-9]\三個0-9組成的字串;\. :
匹配點(注意這裡點是特殊的字元,所以要用"\"來遮蔽其含義)
2.find介紹
(1)查詢具有某些特徵檔案的命令,可遍歷當前目錄甚至於整個檔案系統來檢視某些檔案或目錄,其遍歷大的檔案系統時一般放在後臺執行。
(2)find命令的一般形式
find pathname -options [-print -exec -ok]
-pathname :find命令所查詢的目錄路徑。如用"."來表示當前的目錄,用/來表示系統根目錄
-print :find命令將匹配的檔案輸出到標準輸出
-exec: find命令對匹配的檔案執行該引數所給出的shell命令,相應的命令形式為
'command'{} \; (注意{}和\之間的空格)
-ok 和 -exec的作用相同,只不過以一種更為安全的模式來執行該引數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓使用者來確定是否執行。
options有如下幾種:
-name :按照檔名查詢檔案
-perm :按照檔案許可權來查詢檔案
-user :按照檔案屬主來查詢檔案
-group :按照檔案所屬的組來查詢檔案
-mtime -n +n 按照檔案的更改時間來查詢檔案,-n表示檔案更改時間距現在n天以內,+n表示檔案更改時間距現在n天以前。find命令還有-atime 和-ctime選項,但它們都和-mtime選項相似。
-size n[c]查詢檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計。
-nogroup 查詢無有效所屬組的檔案,即該檔案所屬的組在/etc/groups中不存在
-newer file1 !file2查詢更改時間比檔案file1新但比檔案file2舊的檔案
-depth 先查詢指定目錄有無匹配檔案,若無則再在子目錄中查詢
2樓:黑馬程式設計師
# find -type f -name "*.c" | xargs grep ""
是你要找的資料夾;如果是當前資料夾可以省略-type f 說明,只找檔案
-name "*.c" 表示只找c語言寫的**,從而避免去查binary;也可以不寫,表示找所有檔案
是你要找的某個字串
find /your/path -type f -print | xargs grep masquerade
grep -f masquerade -r /path
linux如何用命令檢視某資料夾下是否有指定的檔案?
3樓:匿名使用者
ls /usr/local 此命令會列印出/usr/local資料夾下的檔案,你就可以看有沒有這個檔案了!
4樓:笨自己
wttping:
ls /usr/local/abc
如果這個檔案存在,會顯示出來,如果不存在,提示此檔案不存在。
5樓:解決問題
ls -al /usr/local 看看
如果這個檔案存在,會顯示出來,如果不存在,提示此檔案不存在!!
6樓:
ls /etc/local | grep abc
linux查詢目錄下的所有檔案中是否含有某個字串
7樓:
grep -rn "要查詢的字串" *-r 是遞迴查詢
-n 是顯示行號
* : 表示當前目錄所有檔案,也可以是某個檔名。
grep命令的常用格式為:grep [選項] 」模式「 [檔案]。
模式部分:
1、直接輸入要匹配的字串,這個可以用fgrep(fast grep)代替來提高查詢速度,比如我要匹配一下hello.c檔案中printf的個數:fgrep -c "printf" hello.
c。2、使用基本正規表示式。
8樓:莫查名
用grep遍歷目標目錄下的所有檔案
比如:你的字元是 「some_code」 ,資料夾名字是 your_dir
grep -r "some_code" your_dir如果你不需要顯示內容,只需要含有某個字元的檔案:
grep -lr "some_code" your_dir附錄:grep -r 和 -l 引數
-r, -r, --recursive
遞迴地讀每一目錄下的所有檔案。這樣做和 -d recurse 選項等價。
-l, --files-with-matches禁止通常的輸出;作為替代,列印出每個在通常情況下會產生輸出的輸入檔案的名字。對每個檔案的掃描在遇到第一個匹配的時候就會停止。
ps:如果目錄下有二進位制檔案,也可能匹配到。
9樓:
在當前目錄下所有檔案查詢含有main字串的檔案:
grep -r . -e main
解釋:-r recursive,
-e pattern.
如何查詢linux目錄下的所有檔案中是否含有某個字串?
10樓:匿名使用者
查詢目錄下的所有檔案中是否含有某個字串使用:find .|xargs grep -ri "ibm"。正規表示式一般用來描述文字模式的特殊用法,由普通字元以及特殊字元組成。
在linux下查詢某目錄下所有檔案包含某字串的命令:
1、從檔案內容查詢匹配指定字串的行: $ grep "被查詢的字串" 檔名 。
2、從檔案內容查詢與正規表示式匹配的行: $ grep –e 「正規表示式」 檔名 。
3、查詢時不區分大小寫: $ grep –i "被查詢的字串" 檔名 。
4、查詢匹配的行數: $ grep -c "被查詢的字串" 檔名 。
5、從檔案內容查詢不匹配指定字串的行: $ grep –v "被查詢的字串" 檔名 。
6、從根目錄開始查詢所有副檔名為.txt的文字檔案,並找出包含"phpzixue.cn"的行
find . -type f -name "*.txt" | xargs grep "phpzixue.
cn"表示當前目錄 -type 表示型別 f 表示普通檔案 xargs 表示遞迴查詢子目錄 目標字元可帶**等符號 可不帶引號。
linux中在當前目錄下查詢某個檔案。 20
11樓:一棵無所不知的小白菜
1、開啟shell連線工具,連線上伺服器,pwd檢視當前目錄,一般進來預設在主目錄下。
2、通過命令:cd /切換到主目錄下,然後pwd檢視當前目錄,並用ls可以檢視當前目錄下的檔案及目錄。
3、假如要找一個nginx配置檔案nginx.conf,那麼可以通過find命令查詢:find . -name 'nginx.conf'。
4、假如不知道檔案的具體名字只是模糊記得幾個關鍵的單詞,那麼就可以通過模糊匹配去搜尋:find 目錄 -name '*nginx*' 查詢即可。
12樓:匿名使用者
首先,查詢檔案不能用grep,grep命令用於在一個或多個檔案中查詢關鍵字(可以是字串,也可以是正規表示式),而不是查詢檔案。
其次,linux下查詢檔案可以用whereis、locate或者find命令。如果是快速搜尋檔案,最好是用whereis或者locate命令,它們的查詢速度要比find命令快很多,這是因為在linux系統中有個資料庫,記錄了系統內的所有檔案,而whereis和locate命令就是在這個資料庫中查詢,並沒有實際查詢硬碟,而資料庫查詢往往是非常快的;而find命令是直接查詢硬碟,如果硬碟檔案比較多,就比較費時間。
注意一點:whereis和locate命令的資料庫是一天更新一次,所以有時候會找到已經刪除的檔案,還會有找不到最新剛剛建立檔案的情況,當明明記得有卻找不到時,就用find命令來查詢。
最後,根據你的問題,查詢當前目錄檔案,可以在當前目錄下執行find命令的-name引數。
find用法:
find 要查詢的路徑 引數
-name引數:指定要查詢的檔名
-user引數:指定要查詢的檔案所屬使用者
-type引數指定查詢檔案的型別,分別有d目錄、l連線檔案、s socket檔案等
13樓:匿名使用者
在 linux 中查詢檔案有兩種方法。一種是使用 find 命令,另外一種是使用 locate 命令。
1、find 命令
使用 linux find 命令可以用不同的搜尋標準如名字、型別、所屬人、大小等來搜尋目錄樹。基本語法如下:
# find path expression search-term
下面是使用 find 命令根據檔名來查詢特定檔案的一個例子:
# find -name test.file
命令會搜尋整個目錄樹來查詢名為 test.file 的檔案,並且會提供其存放位置。你可以使用你 linux 上一個存在的檔名來嘗試一下。
# find /var -name test.file
# man find
2、locate 命令
要在linux中使用locate命令,首先需要安裝它。
如果你正在使用 ubuntu,執行下面的命令來安裝 locate:
# apt-get update # apt-get install mlocate
如果你使用的是 centos ,執行下面的命令來安裝 locate:
# yum install mlocate
locate 是一種比 find 更快的方式,因為它在資料庫中查詢檔案。要更新搜尋資料庫,執行下面的命令:
# updatedb
使用 locate 查詢檔案的語法:
# locate test.file
# man locate
Linux命令刪除資料夾下的檔案 保留資料夾
rm rf var woll cion lib 還有一種辦法是查詢到所有lib資料夾,然後按此列表刪除 ls r var woll cion grep lib sed e s g xargs rm rf 請謹慎使用!你可以這麼寫 find var woll cion path var woll ci...
我想用vb監控某個資料夾下的檔案是否有變化,如果出現了變
若只是監視資料夾下的 檔案數目 名稱是否有改變的話 很容易。若要檢測資料夾下檔案內容是否被改動,就需要檢測所有檔案的修改日期了。先來個檢測資料夾下名稱 數量的吧。在vb中要實現查詢檔案功能,我們可以利用vb的dir函式進行遞迴來實現。每次使用dir函式後,比較是否有要查詢的檔案,再檢查是否有子目錄,...
linux查詢檔案是怎麼產生的,怎麼在Linux中查詢某個檔案?
linux下沒有辦法檢視某個檔案 絕對的 建立時間,只有檔案的最後一次改變的時間,用下面的命令可以查詢 home下最近兩天修改過的檔案 find home type f mtime 2如果要把這些檔案也刪掉,那麼可以 find home type f mtime 2 exec rm 怎麼在linux...