在shell中呼叫sed中替換斜槓的問題

2021-06-28 10:06:16 字數 318 閱讀 3216

工作中,經常試用shell呼叫sed命令做匹配替換工作。

我們知道替換用s///這樣的格式,如果pattern中包含斜槓,就需要轉義。

如果不想轉義,就可以使用s###  ,s::: 之類的來替換。

但是,如果我們在替換之前想匹配一下,發現只能用//來匹配,怎麼辦?

比如 sed -n 『/'$pattern'/s/a/b/p' filename,shell變數$pattern中包含斜槓就沒辦法了。

我的解決辦法就是用perl命令列,因為機器上自帶sed命令的,就應該有perl。

perl -ne 『if (m)』 filename

在shell中使用sed命令替換 為

sed命令相關 這裡我們要做的功能是 輸入乙個目錄 data data8 在shell中將其變換為 data data8 這是為了能在shell後邊的sed命令中直接使用 先來看看直接使用命令如何實現 echo data data8 sed s g s g s代表替換 g代表到行結尾,三個標黑放大的...

Shell中的sed命令

sed的優點 sed速度快,在啟動vim的時間,sed已經完成了需要執行的操作 echo this is a test sed s test testing sed s dog tiger test1sed 2s dog tiger test1 指定替換第二行 sed 4s dog tiger te...

shell中的sed命令

sed命令 主要是對文字進行編輯,當需要對文字進行反覆操作,或者編寫指令碼時,會經常用到!sed命令的組成 和其他命令不太一樣的是多了個動作。一般都是命令 引數 正則變數,文字變數。在sed中可以在正則變數裡新增動作,而且一說到正則肯定離不開轉義字元,它的轉義字元也不太一樣。引數 引數功能 備註 e...