1. 需求
現在有乙個字串,需要將其前導的數字和下劃線去掉,只保留後一部分,例如:
對於字串:20181219_191533_ext_t_poi_change_log_poi
,處理後的字串就是:ext_t_poi_change_log_poi
;如果是20181219_191533_ext_t_poi_change_2_log_poi
,處理後就應該是:ext_t_poi_change_2_log_poi
2. **
[root@server4 temp]
# echo "20181219_191533_ext_t_poi_change_log_poi" |sed 's/[0-9]\+//g' | sed 's/^_\+//'
ext_t_poi_change_log_poi
上述的邏輯是:
step 1:首先過濾全部數字;
step 2:接著過濾前導_
但是使用上述的sed
+ 正規表示式可能會得到不理想的結果。如下所示:
[root@server4 temp]
# echo 20181219_191533_ext_t_poi_change_log_2_poi| sed 's/[0-9]\+//g' | sed 's/^_\+//'
ext_t_poi_change_log__poi
這樣也會把我們想要的task_name 中的數字給過濾了,導致產生了錯誤的結果。
echo 20181219_191533_ext_t_poi_change_log_2_poi|
sed's/^[0-9_]\+//g'
上述正規表示式的邏輯是:
step 1. 處理前導的數字或者_
這個的結果就是:ext_t_poi_change_log_2_poi
。這才是正確的。
sed 正規表示式
如果testfile的內容是 welcome to the world of regexp 現在要去掉所有的html標籤,使輸出結果為 hello world welcome to the world of regexp 怎麼做呢?如果用下面的命令 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...