Linux查詢檔案夾下檔案中字串及替換字串

2021-09-12 01:47:27 字數 1707 閱讀 6839

一、grep:

1、grep是linux下搜尋檔案文字的工具,能使用正規表示式搜尋文字,並把匹配的文字所在位置列印下來。

2、使用格式:grep [option]... pattern [file]...

[option]常用引數:

-n或 --line-number        列印所在行數編號

-r 或 --recursive           等同於 --directories=recurse,表示指定要查詢的是目錄而非檔案時

-l 或 --files-without-match    列印內容不符合指定的範本樣式的檔名稱

-l 或 --files-with-matches 只列印存在符合指定的範本樣式內容的檔名稱

-w 或 --word-regexp        只顯示全字符合的列

-x 或  --line-regexp        只顯示全列符合的列

-a 或  --text             不要忽略二進位制檔案,等同於--binary-files=text

-i                       忽略二進位制檔案,等同於--binary-files=without-match

-i 或  --ignore-case         忽略字元大小寫

更多引數詳見--help。

3、pattern正規表示式常見引數:    

\ : 將下乙個字元標記為或特殊字元、或原義字元、或向後引用、或八進位制轉義符。例如, 'n' 匹配字元 'n'。'\n' 匹配換行符。序列     '\\' 匹配 "\",而 '\(' 則匹配 "("。

. : 匹配除換行符 \n 之外的任何單字元。要匹配 . ,請使用 \. 。

* : 有字元,長度可以為0。

+ : 匹配前面的子表示式一次或多次。要匹配 + 字元,請使用 \+。

? : 匹配前面的子表示式零次或一次,或指明乙個非貪婪限定符。要匹配 ? 字元,請使用 \?。

^ : 匹配輸入字串的開始位置,除非在方括號表示式中使用,此時它表示不接受該字元集合。要匹配 ^ 字元本身,請使用 \^。

| : 指明兩項之間的乙個選擇。要匹配 |,請使用 \|。

\<:從匹配正則表達 式的行開始。

\>:到匹配正規表示式的行結束。

4、舉例:

grep -i 'hello world' hello.c hello.h  :顯示在hello.c、hello.**件中查詢到字串的行,並忽略大小寫

grep 'hello' d*  :顯示在d開頭的檔案中查詢到字串的行

grep -rl 'hello' /home/hello/  :顯示在對應資料夾下的檔案中查詢到字串的檔案,並列印出檔案名字

二:sed:

1、使用sed命令可以進行字串的批量替換。

2、使用格式:sed [option]... [input-file]...

[option]常用引數

-i 直接在檔案中替換,不列印到終端

3、可以指定替換檔案

sed -i 's/hello/hello/g' hello.c     :將hello.c檔案中的hello替換成hello

4、可以與grep連用在grep查詢到的檔案內進行替換

sed -i 's/hello/hello/g' `grep 'hello' -rl /home/hello/`   :將grep返回的檔案中的hello替換成hello,其中grep前的符號為`而非'

java 查詢檔案夾下的檔案

貼上即可使用 string filepath d file d盤下的file資料夾的目錄 file file new file filepath file型別可以是檔案也可以是資料夾 file filelist file.listfiles 將該目錄下的所有檔案放置在乙個file型別的陣列中 獲取資...

資料夾下迭代查詢檔案

客戶需求 由於客戶需要查詢的太多 每天好多張 通過文章登記或者附件上傳太麻煩,想要通過ftp上傳到伺服器中,然後在前台查詢,將顯示出來。但太多,每天上傳,為了管理方便,每天新建乙個資料夾,直接將資料夾中的上傳,而該資料夾下又有若干層和若干個子資料夾。分析 資料夾不確定,資料夾名字也不確定,甚至的格式...

linux檢視資料夾下檔案個數

或find company type f wc l 檢視某資料夾下檔案的個數,包括子資料夾裡的。ls lr grep wc l 檢視某資料夾下資料夾的個數,包括子資料夾裡的。ls lr grep d wc l 說明 ls l 長列表輸出該目錄下檔案資訊 注意這裡的檔案,不同於一般的檔案,可能是目錄 ...