Как я захватываю только число от вывода командной строки.
Например, у меня есть программа, которая будучи выполненной производит строку как
submitted batch with job number 12345
Я хотел бы захватить только число 12345
и передайте его по каналу к другой программе.
Самая простая форма для получения только числа от строки, которую Вы обеспечили, следующие.
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'