檔案查詢工具
檔案查詢工具:grep,egrep ,fgrep
下面主要介紹:grep和sed命令
行首錨定符^pattern
行尾錨定符$
\pattern\>詞尾 錨定符
. 匹配任意單個字元 不匹配回車符
* 匹配此前的字元0到任意次
。*匹配任意長度的任意字元
正規表示式工作在貪婪模式:盡可能長的匹配符合模式的字串
精確匹配次數
? 匹配此前的字元0次或1次 ;
\ 至少m次。至多n次
\[ ]匹配指定範圍內的任意單個字元
[^] 匹配指定範圍外的任意單個字元
-v 不匹配的-i 忽略大小寫
- r-b 後面跟的是數字n,顯示前n行
-a 顯示後n行
-c 顯示前後n行
-o 顯示匹配的字串而非查詢的那一行
-e 支援擴充套件正規表示式的
\(\) \1 , 引用 此前括號內 的內容
擴充套件正規表示式grep -e
{}()|(或者)+(匹配一次)
標準輸入:keyboard 用0來表示
標準輸出:monitor 用1來表示
標準錯誤輸出:monitor 用2來表示
重定向:
>輸出重定向 覆蓋 不可返
>>追加重定向相當於重新寫入
可以用set來設定是否用輸出重定向:
set -c 不能
set +c 繼續使
錯誤輸出重定向:2> 只定向正確輸出
2>>加重定向
整合正確錯誤的資料流在乙個檔案中: &>
在linux系統中命令執行結後,都有乙個返回碼
成功執行:0 錯誤:1-255
獲取返回值 echo $?
/dev/null,bit bucket, 位桶
輸入重定向
<<
cat > /tmp/a.out << end
管道:|
把前乙個命令的輸出當作前乙個命令的輸入
command1 | command2 | command3
sed使用基本正規表示式
stream editor 行編輯器
非互動式編輯器
沒有破壞性
命令:d 刪除行;
使用方式:sed "addr1 ,addr2/command" inputfile
,表示乙個範圍
也可以用字元匹配來用:
/pattern/command
/pattern1/,/pattern/
p 顯示出模式匹配的行 顯示兩次 即是列印命令
-n 只顯示模式匹配到的內容 即set -n ...
a\ 在匹配到的一行後新增一行\n
i\命令游標在匹配到行的上方
!對匹配條件取反的
s 查詢替換
s@@@ g i標誌位
sed的常用選項:
-n :quiet
-e : -e '' -e ' '一次指定多個條件
-i :可直接修改原檔案
-f :可以讀取sed指令碼
本文出自 「linux學習」 部落格
Linux系統中檔案查詢工具
檔案查詢工具 檔案查詢工具 grep,egrep fgrep 下面主要介紹 grep和sed命令 行首錨定符 pattern 行尾錨定符 詞首錨定符 加上引號單雙都行 pattern 詞尾錨定符 匹配任意單個字元 不匹配回車符 匹配此前的字元 0 到任意次 匹配任意長度的任意字元 正規表示式工作在貪...
Linux系統中檔案查詢find函式用法
find name april 在當前目錄下查詢以april開始的檔案 find name april fprint file 在當前目錄下查詢以april開始的檔案,並把結果輸出到file中 find name ap o name may 查詢以ap或may開頭的檔案 find mnt name ...
Linux中檔案搜尋,查詢,讀取
當檔案很大時幾個g,如果直接使用cat檢視檔案會導致系統宕機甚至崩盤,為避免此現象出現可以使用一下幾個命令檢視 cat 讀取整個檔案 more 分頁讀取 less 可控分頁 root 192 tmp grep 44 test1 搜尋test1檔案中44 root 192 tmp grep n 44 ...