Получить конкретный номер в строке

У меня есть этот файл

123 My name is Lorry I'm 29 years old 10000 45 148 Name - Dan 20000 18 895 My name is John Lazaro I like tennis 30000 63 

И я хочу напечатать только последние числа в строке

 45 18 63 

Можно ли это сделать?

UPDATE: теперь я хочу распечатать

 10000 20000 30000 

3 Solutions collect form web for “Получить конкретный номер в строке”

Вы можете попробовать использовать awk для печати последней поданной:

 awk '{ print $NF }' file 

и для поля печати рядом с последним:

 awk '{ print $(NF - 1) }' file 

В вашем случае последнее слово (разделенное пробелом) оказывается числом. Если это всегда так, ваша проблема может быть уменьшена до печати последнего слова, например:

 awk 'NF {print $NF}' 

или

 sed 's/.* //' 

Для последнего:

 awk 'NF >= 2 {print $(NF-1)}' 

Если вы хотите напечатать последнее слово iif, это положительное десятичное целое число, то это станет следующим:

 awk '$NF ~ /^[0-9]+$/ {print $NF}' 

(замените $NF на $(NF-1) за последний раз).

Если вы хотите напечатать самую правую последовательность десятичных цифр в каждой строке, тогда:

 sed -n 's/^/./;s/.*[^0-9]\([0-9]\{1,\}\).*/\1/p' 

Для последнего:

 sed -n 's/^/./;s/.*[^0-9]\([0-9]\{1,\}\)[^0-9].*[0-9].*/\1/p' 

Если кому-то нужен мой обновленный вывод, просто введите это

 awk '{print $(NF-1)}' file.txt 
  • Перенаправить ввод из файла, но показывать также в stdout?
  • Как добавить несколько строк в файл после шаблона, который также является многострочным?
  • tr не имеет эффекта при использовании в $ () и сохраняется в переменной
  • Почему этот скрипт не работал?
  • Извлечение результатов вложенного цикла в файл в bash
  • Ловушки системы вызова (3) или popen (3) с постоянной строкой?
  • csh: Как сохранить среду оболочки (env, current dir, shell history) в файле и установить ее в другой оболочке?
  • Как запустить файл .desktop?
  • Использование среды bash из внешнего раздела ОС
  • Случайно набрал crontab только с тире
  • Escape текст для дальнейшего перехода к зениту
  • Как получить имя распространения и номер версии в простом сценарии оболочки?
  • Linux и Unix - лучшая ОС в мире.