Если вы просто хотите, чтобы количество запятых в числе, вы можете использовать:
pax> echo 'About 7,970,000,000 results' | awk '/About/{gsub(/[^,]/,"",$0);print length($0)}'
3
Более подробно:
/About/ - select line with "About"
gsub(/[^,]/,"",$0) - replace all non-commas with nothing in whole line
print length($0) - print out count of the commas
Имейте в виду, что это только если выходLynx точно , что вы изначально заявили (как в моем echo
, что, как оказалось, не так).
Для вывода фактического (HTML), вероятно, будет больше запятых, чем вы ожидали.В этом случае вам нужно вычеркнуть все до About
и все из следующего пробела после этого (оставив только число), затем посчитать запятые в этом бите.
Следующее, кажется, хорошо работает с вашим фактическим запросом, первые две команды gsub
убирают все, кроме самой цифры, а остальные - то, что я выдвинул выше:
awk '/About /{
gsub(/^.*About /,"",$0);
gsub(/ .*$/,"",$0);
gsub(/[^,]/,"",$0);
print length($0)}'