Bash - 引用符の間のランダムな数字を置き換える

Bash - 引用符の間のランダムな数字を置き換える

次の文字列を含む .flame/XML ファイルに書き込むスクリプトを作成しました。

scale="n"

どこN桁数が可変の乱数です。私がやろうとしているのは、この文字列を特定の範囲内の他のランダムな数に置き換えることです。すでに持っているので、この数字を生成するのは簡単ではありません。シェンこれに努めてください。この文字列は次のいずれかの文字列に似ている可能性があるため、検索して置き換えようとすると問題が発生します。

scale="54.1948", scale="182.55816", or scale="3.59"

使ってみました。sedこれには可能だと思いますが、まだ正しい構文を見つけることができませんでした。この文字列の発生はファイル間で一貫していません。

理想的には、私が探しているコマンドは次のような文字列を変換します。

scale="54.1948" or scale="3.59"

1つは次のとおりです。

scale"254" or scale="579"

助けてくれてありがとう。

ベストアンサー1

探している構文はですsed -e 's/\(scale=\)"[0-9]\+\(\.[0-9]\+\)\?"/\1"'"$replacement_number"'"/'。正規表現の詳細を検索してください。

\(scale=\)        the literal string scale=, remembered as \1
"                 opening double quote
[0-9]\+           one or more digits
\(\.[0-9]\+\)\?   optionally, a period followed by one or more digits
"                 closing double quote

おすすめ記事