天天看點

運維的shel小編(4) 第三章正規表達式

正規表達式是通過一些特殊字元串的排列,用以查找、替換、删除一行或多行字元串。

^word:以word為行首

Word$:以word為行尾

\':轉意字元,轉意‘

*:重複另個或無窮多個的前一個字元串

[list]:從集合裡找出想要的字元

[n1-n2]:想要的字元範圍

[^list]:找出的不要的字元範圍

\{n,m\}:連續n到m個前一個re字元

例:grep -n '[0-9]'  test.txt   //包含任意數字的行

grep -n 'go\{2,3\}g'  test.txt  //含good或goood

就是指正則的擴充,是一種進階要求了。

Sed是一個管道指令,用來對資料進行替換、删除、新增、選取特定行等功能。

格式:sed [-nefr]  [n1,n2]  function

參數:-n安靜模式,隻有經過sed特殊處理的行才列出來,e直接在指令模式下動作編輯,r支援擴充正則,-i直接修改讀取的内容。

Function:a新增,c替換,d删除,i插入,p打鈎,s替換。

例如:1,20s/old/news/g 對1-20行替換。

對2-5行分别進行替換和删除

<a href="http://blog.51cto.com/attachment/201209/233527770.png" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201209/233537791.png" target="_blank"></a>

本文轉自zsaisai 51CTO部落格,原文連結:http://blog.51cto.com/3402313/1009539