文字列から可変長の数を抽出したい。
文字列は次のようになります。
used_memory:1775220696
1775220696
その部分を変数に入れたいです。これについては多くの質問がありますが、私のニーズに合った解決策が見つかりませんでした。
パラメータ展開を使用します。
string=used_memory:1775220696
num=${string#*:} # Delete everything up to the first colon.
以前はegrepを使用していました
echo used_memory:1775220696 | egrep -o [0-9]+
出力:
1775220696
正規表現を使用します:
s/^[^:]*://g
sed または perl で使用して、必要な部分を取得します。
> echo "used_memory:1775220696" | perl -pe 's/^[^:]*://g'
1775220696
次のように awk を使用して実行できます。
var=`echo "used_memory:1775220696" | awk -F':' '{print $2;}'`
echo $var
出力:
1775220696