Вы можете использовать grep -E
чтобы получить доступ к расширенному синтаксису регулярных выражений (такой же, как эгреп)
Я создал тестовый файл с нижеприведенным содержимым:
>cat testfilethis is some textwith some random linesagain some textok now going for numbers (:32)ok now going for numbers (:12)ok now going for numbers (:132)ok now going for numbers (:1324)
Теперь, чтобы выделить только цифры из текста, вы можете использовать
>grep -Eo '[0-9]{1,4}' testfile32121321324
будет выводиться.
Здесь "-о" используется для вывода только соответствующего сегмента строки, а не полного содержимого строки.
Волнистые скобки (например, { и }) указывают количество экземпляров совпадения. {1,4} требует, чтобы предыдущий символ или класс символов встречались по крайней мере один раз, но не более четырех раз.
Надеюсь, это поможет