Захват числа от строки производится на командной строке

Как я захватываю только число от вывода командной строки.

Например, у меня есть программа, которая будучи выполненной производит строку как

submitted batch with job number 12345

Я хотел бы захватить только число 12345 и передайте его по каналу к другой программе.

2
задан 10 October 2017 в 23:19

1 ответ

Самая простая форма для получения только числа от строки, которую Вы обеспечили, следующие.

string="submitted batch with job number 12345"
echo $string | grep -o '[0-9]\+'

Это перестанет работать, если строка или вывод Вашей программы действительно будут включать вторую группу числа как

string="submitted 1 batch with job number 12345"

В этом случае, Вы были бы, мог использовать sed для, например, искать строку номер и только соответствовать для чисел после того возникновения.

echo $string | sed -n 's/^.*number\ \([0-9]\+\)/\1/p'
2
ответ дан 2 December 2019 в 03:36

Другие вопросы по тегам:

Похожие вопросы: