簡體   English   中英

sed命令中的正則表達式

[英]regex inside a sed command

我在sed命令中放置一個正則表達式有一個小問題,這是我的代碼:

RAW_LIST_B=`echo $RAW_LIST_A | sed s/[0-9a-f]{8} / /g`

我得到這個錯誤:

sed: -e expression #1, char 13: unterminated `s' command

我不確定如何引用[0-9a-f]{8}以便從RAW_LIST_A刪除所有8位十六進制數字和尾隨空格

謝謝,

做這個:

RAW_LIST_B=`echo $RAW_LIST_A | sed 's/[0-9a-f]\{8\} / /g'`

由於您沒有引用sed的參數,因此在將其傳遞給sed之前,shell將其分為三個參數: s/[0-9a-f]{8}//g

另外,請注意反斜杠以避開花括號。

您應該將sed表達式括在引號中,這樣它將是shell傳遞給sed的一個字符串參數

RAW_LIST_B=`echo $RAW_LIST_A | sed "s/[0-9a-f]\{8\} //g"`

樣本輸出:

$ echo "hello a5a5a5a6 world" | sed "s/[0-9a-f]\{8\} //g"
hello world

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM