Sed
在 sed 中匹配組
我正在嘗試使用 sed 和擷取組以程式方式將字元串替換為字元串,其中
concat(x,y)
和表示任意數字。xy``x``y
我認為以下方法可以解決問題:
echo "concat(3,2)" | sed 's!concat(\(\d\),\(\d\))!"\1\2"!'
我基本上是在嘗試擷取一組中的每個數字並並排輸出兩組。我不明白我從這個命令得到的輸出:
concat(3,2)
為什麼我的
sed
命令沒有任何效果?我不知道這有多相關,但我在 Mac 上。非常感謝 !
預設情況下
sed
只理解基本的正則表達式,所以你必須使用[0-9]
而不是\d
:$ echo "concat(3,2)" | sed 's!concat(\([0-9]\),\([0-9]\))!"\1\2"!' "32"