単語の前の数字を抽出します。

単語の前の数字を抽出します。

messages複数行を出力するプログラムがあり、その中には数字の前に単語が含まれているとします。どうすればこの数だけ抽出できますか? (合計のみを出力するにはどうすればよいですか?)

ベストアンサー1

を使用し、awk数字と間にオプションのスペースがある10進整数であるとしますmessages

cmd | awk '
  match($0, /[[:digit:]]+[[:space:]]*messages/) {
    sum += substr($0, RSTART)
  }
  END {print 0+sum}'

そしてperl

cmd | perl -lne '$s += $1 if /(\d+)\s*messages/; END{print 0+$s}'

おすすめ記事