使用sed取字串並新增到新加行

2021-05-27 11:09:45 字數 978 閱讀 9996

使用sed取字串並新增到新加行

在含有指定字串的行後新增一行,並取其中「」之內的字串供新添行使用

下例:取行內容為g_message("任意內容");的行,在每行的後面新增一行top_log(ksir,"任意內容");

$echo "g_message(\"this is a message test\");" | sed 's#g_message("\(.*\)");#&\ntop_log(ksir,"\1");#g'

g_message("this is a message test");

top_log(ksir,"this is a message test");

命令解釋:

"\(.*\)"表示兩引號之間的內容;

\1: 表示第一對括號裡面的內容(括號裡的表示式匹配的內容,可以用\1,\2等進行引用,第m個括號對內的內容,就用\m引用。)

擴充套件:

"asdfkjasldjkf"shiner"df

需求:需要提取出shiner子字串。

命令如下:

[root@localhost /]$  echo "asdfkjasldjkf\"shiner\"df" | sed 's/\(.*\)"\(.*\)"\(.*\)/\2/g'

shiner

命令解釋

s: 表示替換命令

\(.*\)" : 表示第乙個引號前的內容

"\(.*\)":表示兩引號之間的內容

)"\(.*\):表示引號後的內容

\2: 表示第二對括號裡面的內容

括號裡的表示式匹配的內容,可以用\1,\2等進行引用,第n個括號對內的內容,就用\n引用。

這個命令的意思是:

用\2代表的第二個括號的內容(shiner)去替換整個字串,這樣就得到了我們所需要的子字串了。

取自:

Sed替換刪除新增字串

替換當前目錄下所有文字檔案中,hello為world。i就地修改 sed i s hello world txt 替換包含hello的文字為hi,r遞迴,l列出檔案目錄 sed i s hello hi g grep hello rl 刪除包含insert的行 sed i insert d test...

使用函式擷取字串

首先說說使用php預設語法來操作這些 1.1 首先使用strpos找出指定字元的位置,3是要把指定字元包含進去,uft是3個字元乙個中文字,然後使用substr進行字串擷取。header content type text html charset utf 8 str badcat讀書網 這些都是我...

python中使用 提取字元 字串

字串的本質就是字串行,我們可以通過在字串後面新增,在裡面指定偏移量,可以提取改位置的單個字元 正向搜尋 最左側第乙個字元,偏移量為0,第二個偏移量為1,以此類推,知道len str 1為止 反向搜尋 最右側第乙個字元,偏移量為 1,倒數第二個偏移量為 2,以此類推,知道 len str 為止 a a...