0

次のようなレポートを出力するコマンド ライン プログラムがあります。

I found 0 problems on your database,
0 problems were found on your database

等々。

数値のみを変数にエクスポートする Linux シェル スクリプトを作成したいと思います。そうする正しい方法が見つかりません。grep適切に使用していないと思われます (または、より良いコマンドがあります)。すなわち

I found 43 problems on your database,
43 problems were found on your database
$VAR=43

お知らせ下さい

4

2 に答える 2

3
$ var=$(echo -e "I found 43 problems on your database,
43 problems were found on your database" | grep -om 1 '[0-9]\+')
$ echo $var
43
于 2012-06-17T09:56:24.403 に答える
1

Lev Levitsky のソリューションは完璧であることがわかりましたが、レポートにそのような数字の行が多数含まれていて、それぞれを処理したい場合に備えて、次のようなものを使用することを追加したいだけです。

cat report | grep -o '[0-9]\+' | while read var
do
  # do something with var
done
于 2012-06-17T10:43:08.390 に答える