Захват номера из строкового вывода в командной строке

Вам нужно будет скачать диск maverick и смонтировать его, используя что-то вроде Daemon Tools Lite.

Не горит.

Шаг за шагом:

Узнайте, какая архитектура поддерживается. Загрузите соответствующий диск. Загрузите и установите Daemon Tools Lite. Смонтируйте диск следующим образом. Откройте wubi с диска.
2
задан 10 October 2017 в 23:19

3 ответа

Простейшая форма для получения только числа из строки, которую вы предоставили, выглядит следующим образом:

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

Это не сработает, если строка или вывод вашей программы включает вторую группу чисел, такую ​​как [ ! d1]

string="submitted 1 batch with job number 12345"

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

echo $string | sed -n 's/^.*number\ \([0-9]\+\)/\1/p'
2
ответ дан 22 May 2018 в 17:40
  • 1
    Благодаря! Я не могу принять ответ из-за моего рейтинга, но это замечательно! – Adi279 10 October 2017 в 21:53
  • 2
    Мы можем использовать | tail -1, чтобы вырезать только последний результат, если их больше одного. – pa4080 10 October 2017 в 21:54
  • 3
    Сохраните подоболочку трубы с помощью здесь строки , например. [F1]. – dessert 10 October 2017 в 23:28
  • 4
    Не нужно указывать начало строки и избегать символа пробела в кавычках - и не нужно отрицать и печатать его: sed 's/.*number \([0-9]\+\)/\1/' <<< "$string" – dessert 10 October 2017 в 23:37

Простейшая форма для получения только числа из строки, которую вы предоставили, выглядит следующим образом:

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

Это не сработает, если строка или вывод вашей программы включает вторую группу чисел, такую ​​как [ ! d1] string="submitted 1 batch with job number 12345"

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

echo $string | sed -n 's/^.*number\ \([0-9]\+\)/\1/p'
2
ответ дан 18 July 2018 в 05:29

Простейшая форма для получения только числа из строки, которую вы предоставили, выглядит следующим образом:

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

Это не сработает, если строка или вывод вашей программы включает вторую группу чисел, такую ​​как [ ! d1] string="submitted 1 batch with job number 12345"

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

echo $string | sed -n 's/^.*number\ \([0-9]\+\)/\1/p'
2
ответ дан 24 July 2018 в 18:20

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

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