Найти и экспортировать число из строки, используя команду Bash - PullRequest
0 голосов
/ 25 января 2019

У меня большой текстовый файл, содержащий тысячи строк, и мне нужно извлечь число, которое находится на определенной строке.

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

  19700    307.30459   -8158.4284            0   -8121.8045   -23047.162    29171.514 
  19800    300.74023   -8157.6228            0   -8121.7812   -23758.868    29219.884 
  19900    302.34994   -8159.1197            0   -8123.0863   -23360.949    29266.787 
  20000          300   -8165.4452            0   -8129.6919   -23585.616    29316.622

Каков наилучший способ извлечь последнее число в строке, начиная с 19900, и экспортировать его в новый текстовый файл?Этот процесс происходит в цикле, поэтому в идеале я бы сделал этот экспортированный номер новой строкой в ​​отдельном текстовом файле.

1 Ответ

0 голосов
/ 25 января 2019

Не могли бы вы попробовать следующее.

awk '/^19900/{print $NF}' Input_file

Выше будет напечатано последнее поле строки Input_file, которое начинается с 19900, используйте следующее, если вы хотите напечатать определенную строку.

awk '$1 == 19900 {print $7}' Input_file

В соответствии с комментарием @Cyrus теперь добавлено следующее решение.

awk '$1==19900 && $0=$NF'  Input_file
...