[英]Regex group in sed command
對於以下幾行
DEV1 ABCDEFGHI
DEV2 ABCDEFGHI
QA1 ABCDEFGHI
QA2 ABCDEFGHI
我如何將其替換為以下內容:
<!-- DEV1 ABCDEFGHI -->
<!-- DEV2 ABCDEFGHI -->
<!-- QA1 ABCDEFGHI -->
<!-- QA2 ABCDEFGHI -->
這是我到目前為止的內容,但不適用於所有行:
echo $line | sed -E 's/(QA.)|(DEV.)(.*)/<!-- \1\2\3 -->/'
這就是你想要的:
echo "$line" | sed -E 's/(QA.|DEV.)(.*)/<!-- \1\2 -->/'
第一組可以使用QA
或DEV
作為前綴,請使用|
或運算符。
一些 替代方案 :
$ echo "QA2 ABCDEFGHI"|sed -E 's/(.*)/<!-- \1 -->/'
<!-- QA2 ABCDEFGHI -->
$ echo "QA2 ABCDEFGHI"|awk '{print "<!-- "$0"-->"}'
<!-- QA2 ABCDEFGHI-->
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.