如果testfile的內容是
welcome to the world of regexp!
現在要去掉所有的html標籤,使輸出結果為
hello world
welcome to the world of regexp!
怎麼做呢?如果用下面的命令
$ sed 's/<.*>//g' testfile
結果是兩個空行,把所有字元都過濾掉了。這是因為,正規表示式中的數量限定符會匹配盡可能長的字串,這稱為貪心的(greedy)[39]。比如sed在處理第一行時,<.*>匹配的並不是或這樣的標籤,而是
這樣一整行,因為這一行開頭是<,中間是若干個任意字元,末尾是》。那麼這條命令怎麼改才對呢?留給讀者思考。
+++++++++++++++++++++++++++++
學生:盧峰
sed 's/<[a-z|/]*>//g' testfile
+++++++++++++++++++++++++++++
sed 's/<[^<>]*>//g' testfile
sed 常用正規表示式
1.乙個比較實用的正規表示式 匹配html的嵌入 匹配 的嵌入碼 刪除僅由空字元組成的行 sed space d filename 匹配html標籤 例如 從html檔案中剔除html標籤 sed s g space d file.html 例如 要從下列 中去除 及其中包括的 b 4c6c2a65...
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 ...