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 之外的任何單字元。要匹配 . ,請使用 . 。
? : 匹配前面的子表示式零次或一次,或指明乙個非貪婪限定符。要匹配 ? 字元,請使用 ?。
^ : 匹配輸入字串的開始位置,除非在方括號表示式中使用,此時它表示不接受該字元集合。要匹配 ^ 字元本身,請使用 ^。
| : 指明兩項之間的乙個選擇。要匹配 |,請使用 |。
<:從匹配正則表達 式的行開始。
>:到匹配正規表示式的行結束。
4、舉例:
grep -i 『hello world』 hello.c hello.h :顯示在hello.c、hello.**件中查詢到字串的行,並忽略大小寫
grep 『hello』 d* :顯示在d開頭的檔案中查詢到字串的行
grep -rl 『hello』 /home/hello/ :顯示在對應資料夾下的檔案中查詢到字串的檔案,並列印出檔案名字
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前的符號為`而非』
Linux 下查詢檔案或資料夾
有些在我看來比較實用的命令,在這裡記一下,避免每次都搜尋一輪。1 查詢檔案和資料夾 find name mongo 從當前路徑開始,向子目錄查詢名字含有 mongo 的檔案和資料夾 2 僅查詢檔案夾 find name mongo type d 3 查詢檔案內容中含有指定內容的檔案或資料夾 find...
Linux Ubuntu 查詢檔案和資料夾大小
使用命令列工具du,ls查詢檔案和資料夾大小 du命令 du命令可以檢視資料夾的結構及其大小,可以使用 d引數和 b引數來簡單的查詢檔案 資料夾 其中 d n代表資料夾的查詢深度,n為向內查詢幾層,一般使用1即可,b k m g代表顯示的單位為mb,gb等 du sh 1.3g 直接輸出當前的大小s...
linux find 命令查詢檔案和資料夾
查詢目錄 find 查詢範圍 name 查詢關鍵字 type d 查詢檔案 find 查詢範圍 name 查詢關鍵字 print 詳解 find命令用來在指定目錄下查詢檔案。任何位於引數之前的字串都將被視為欲查詢的目錄名。如果使用該命令時,不設定任何引數,則find命令將在當前目錄下查詢子目錄與檔案...