一、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 長列表輸出該目錄下檔案資訊 注意這裡的檔案,不同於一般的檔案,可能是目錄 ...