【grep / egrep】
grep實現的只是查詢功能,而它卻不能實現把查詢的內容替換掉。sed和awk都是流式編輯器,是針對文件的行來操作的。
a. 列印某行 sed -n 『n』p filename 單引號內的n是乙個數字,表示第幾行
b. 列印多行 列印整個文件用 -n 『1,』ps
ed–n
『2,4
』pte
st.t
xtse
d–n『
1,
』p sed –n 『2,4』p test.txt sed –n 『1,
』psed–
n『2,
4』pt
est.
txts
ed–n
『1,』p test.txt
c. 列印包含某個字串的行:sed –n 『/root/』p test.txt
『^』, 『$
』, 『.』, 『*
』等同樣也能在sed中使用。
d. -e 可以實現多個行為:sed –e 『1』p –e 『111』p –n test.txt
e. 刪除某行或者多行:sed 『1』d test.txt
『d』這個字元就是刪除的動作了,不僅可以刪除指定的單行以及多行,而且還可以刪除匹配某個字元的行,另外還可以刪除從某一行一直到文件末行。
f. 替換字元或字串:sed 『1,2s/ot/to/g』 test.txt
『s』就是替換的命令,』g』為本行中全域性替換,如果不加』g』,只換該行**現的第乙個。除了可以使用』/』外,還可以使用其他特殊字元例如』#』或者』@』都沒有問題。
刪除文件中的所有數字或者字母:sed 『s/[0-9]//g』 test.txt
g. 調換兩個字串的位置:sed 『s/(rot)(.*
)(bash)/\3\2\1/』 test.txt
某一行前或者後增加指定內容:sed 『s/^.*$
/123&/』 test.txt 、sed 『s/^.*
$/&123/』 test.txt
h. 直接修改檔案的內容: sed -i 『s/:
/#/g』 test.txt。』:
』修改為『#』
【awk工具的使用】
awk比sed更加強大,它能做到sed能做到的,同樣也能做到sed不能做到的。
a. 擷取文件中的某個段:head –n2 test.txt |awk –f』:』 『』
-f 選項的作用是指定分隔符,如果不加-f指定,則以空格或者tab為分隔符。print為列印的動作,用來列印出某個字段。$1為第乙個字段,$2為第二個字段,依次類推,有乙個特殊的那就是$0,它表示整行。
b. 匹配字元或字串:awk 『/root/』 test.txt
awk –f』:』 『$1~/root/』 test.txt 可以讓某個段去匹配,這裡的』~』就是匹配的意思
awk –f』:』 『/root/ /test/ 』 test.txt awk還可以多次匹配
awk –f』:』 『$1~/root/ 』 test.txt 只列印所匹配的段
c. 條件操作符awk –f』:』 『$3==」0」』 test.txt
『==』就是等於,也可以理解為「精確匹配」。另外也有』>』, 『>=』, 『<』, 『<=』, 『!=』等等,值得注意的是,即使$3為數字,awk也不會把它當數字看待,它會認為是乙個字元。所以不要妄圖去拿$3當數字去和數字做比較。還可以使用」&&」 和 「||」表示「並且」和「或者」的意思。
d. awk的內建變數
常用的變數有:nf-用分隔符分隔後一共有多少段;nr-行數。
e. awk中的數**算
head –n 5 test.txt |awk –f』:』 『$1=」root」』
head –n 2 test.txt |awk -f』:』 『』
cat test.txt |awk –f』:』 『; end 』
這裡的end要注意一下,表示所有的行都已經執行
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...
正規表示式 Linux
主要內容 1 正規表示式2 基礎3 擴充套件4 通配5 grep命令 正規表示式基礎 1 元字元 metacharacters 是用來闡釋字元表示式意義的字元,簡言之,元字元就是描述字元的字元,它用於對字元表示式的內容 轉換及各種操作資訊進行描述。正規表示式是由一串字元和元字元構成的字串,簡稱re ...
Linux正規表示式
正規表示式是一種符號表示法,用於識別文字模式。linux處理正規表示式的主要程式是grep。grep搜尋與正規表示式匹配的行,並將結果輸送至標準輸出。1.grep匹配模式 grep按下述方式接受選項和引數 其中,regex表示正規表示式 1 grep options regex files 其中op...