concat(x,y)
sedグループとキャプチャグループを使用して、プログラムで文字列を文字列に置き換えようとします。ここでは、任意の数字を表します。xy
x
y
私はこのトリックを行うと思います。
echo "concat(3,2)" | sed 's!concat(\(\d\),\(\d\))!"\1\2"!'
私は基本的にセットのすべての数字をキャプチャし、両方のセットを並べて出力したいと思います。このコマンドの結果を理解できません。
concat(3,2)
私のsed
コマンドがうまくいかないのはなぜですか?これがどれほど関連性があるかはわかりませんが、私はMacを使用しています。
ありがとうございます!
答え1
デフォルトでsed
はデフォルトの正規表現のみが理解されるため、[0-9]
代わりに次のものを使用する必要があります\d
。
$ echo "concat(3,2)" | sed 's!concat(\([0-9]\),\([0-9]\))!"\1\2"!'
"32"