1.乙個比較實用的正規表示式
匹配html的嵌入**
<[^>]*>
匹配[....]的嵌入碼
\[[^]]\\]
刪除僅由空字元組成的行
sed '/^[[:space:]]*$/d' filename
匹配html標籤
/\(<[^>]*>\)/例如:從html檔案中剔除html標籤
sed 's/\(<[^>]*>\)//g;/^[[:space:]]*$/d' file.html
例如:要從下列**中去除""及其中包括的**
[b:4c6c2a6554][color=red:4c6c2a6554]一. 替換[/color:4c6c2a6554][/b:4c6c2a6554]sed 's/\[[^]]\\]//g' filename
匹配日期:
month, day, year [a-z][a-z]\, [0-9]\, [0-9]\2003-01-28 或 2003.10.18 或 2003/10/10 或 2003 10 10
\([0-9]\[ /-.][0-2][0-9][ /-.][0-3][0-9]\)
匹配ip位址
\([0-9]\\.[0-9]\\.[0-9]\\.[0-9]\\)\(\([0-9]\\.\)\[0-9]\\)
匹配數字串
[-+]*[0-9]\ 整數[-+]*[0-9]\\.[0-9]\ 浮點數
從字串中解析出兩個子串(前2各字元和後9個字元)
echo "welovechinaunix"|sed -e 'h;s/\(..\).*/\1/;x;s/.*\(.\\)$/\1/;x;g;s/\n/ /'we chinaunix
分解日期串
echo 20030922|sed 's/\(....\)\(..\)\(..\)/\1 \2 \3/'|read year month dayecho $year $month $day
檔案內容倒序輸出
sed '1!g;h;$!d' oldfile >newfilesed的s命令用來做正則替換。可以使用的正規表示式:位置^: 表示句首. 如 ^abc 表示以 abc 開始的句子.
$: 表示句尾. 如 abc$ 表示以 abc 結尾的句子.
\<: 表示詞首. 如 \: 表示詞尾. 如 abc\> 表示以 abc 結尾的詞.數量以下為數量控制符號,專門用來表示前乙個 char. set 的出現次數 常見的有:
*: 表示前乙個 char. set 的出現次數為 0 或多次. 如 ab*c 表示 a 與 c 之間可有 0 或多個 b 存在.
?: 表示前乙個 char. set 的出現次數為 0 或 1 次. 如 ab?c 表示 a 與 c 之間可有 0 或 1個 b 存在.
+: 表示前乙個 char. set 的出現次數為 1 或多次. 如 ab+c 表示 a 與 c 之間可有 1 或多個 b 存在.
: 表示前乙個 char. set 的出現次數必須為 n 次. 如 abc 表示 a 與 c 之間必須有 3 個 b 存在.: 表示前乙個 char. set 的出現次數至少為 n 次. 如 abc 表示 a 與 c 之間至少有 3 個 b 存在.
: 表示前乙個 char. set 的出現次數為 n 到 m 次. 如 abc 表示 a 與 c 之間有 3 到 5 個 b 存在.字符集. 任意字元
[:alnum:] 字母數字 [a-z a-z 0-9]
[:alpha:] 字母 [a-z a-z]
[:blank:] 空格或製表鍵
[:cntrl:] 任何控制字元
[:digit:] 數字 [0-9]
[:graph:] 任何可視字元(無空格)
[:lower:] 小寫 [a-z]
[:print:] 非控制字元
[:punct:] 標點字元
[:space:] 空格
[:upper:] 大寫 [a-z]
[:xdigit:] 十六進製制數字 [0-9 a-f a-f]
轉義使用\做轉義,比如 \/ 表示 /
\( \) 之間的可以在後面使用 \1 \2 等做替換,看第幾次\( \)內容配對。
sed 正規表示式
如果testfile的內容是 welcome to the world of regexp 現在要去掉所有的html標籤,使輸出結果為 hello world welcome to the world of regexp 怎麼做呢?如果用下面的命令 sed s g testfile 結果是兩個空行,...
Linux正規表示式 sed
相比於grep,sed可以替換內容並輸出到螢幕上。sed 選項 動作 filename選項 n 將經過sed命令處理過的行輸出到螢幕 e 允許對輸入資料應用多條sed命令 i 用sed的修改結果直接修改所讀取的檔案 動作 d 刪除 p 列印 s 字串替換 本行 g 本行全域性替換 列印 etc pa...
正規表示式 sed 用法
可以通過定址來定位你所希望編輯的行,該位址用數字構成,用逗號分隔的兩個行數表示以這兩行為起止的行的範圍 包括行數表示的那兩行 如1,3表示1,2,3行,美元符號 表示最後一行。範圍可以通過資料,正規表示式或者二者結合的方式確定 呼叫sed命令有兩種形式 a 在當前行後面加入一行文字。b lable ...