天天看點

Linux系統中檔案查找工具

檔案查找工具 

檔案查找工具:grep,egrep ,fgrep

下面主要介紹:grep和sed指令

行首錨定符 ^PATTERN

行尾錨定符 $

\<PATTERN 詞首錨定符 加上引号單雙都行

PATTERN\>詞尾 錨定符

 .  比對任意單個字元 不比對回車符

* 比對此前的字元0到任意次

。*比對任意長度的任意字元

正規表達式工作在貪婪模式:盡可能長的比對符合模式的字元串

精确比對次數

?  比對此前的字元 0次或1次 ;

\{m,n\} 至少m次。至多n次

\{0,5}

[ ]比對指定範圍内的任意單個字元

[^] 比對指定範圍外的任意單個字元

-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腳本

本文轉自 ZhouLS 51CTO部落格,原文連結:http://blog.51cto.com/zhou123/788095

繼續閱讀