[英]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.