Извлечение числа Grep - PullRequest
       6

Извлечение числа Grep

0 голосов
/ 08 ноября 2018

Мне нужно извлечь числовое значение, используя grep, из серии строк в следующем формате: «Общая разница: 11,7423485766».

Здесь формат файла

smoothSolver:  Solving for Uax, Initial residual = 0.00117823324374, Final residual = 2.6551659504e-06, No Iterations 4

smoothSolver:  Solving for Uay, Initial residual = 0.00102460810826, Final residual = 2.27551114222e-06, No Iterations 4

GAMG:  Solving for pa, Initial residual = 0.083060886073, Final residual = 4.42348716834e-05, No Iterations 8

Adjoint continuity errors : sum local = 0.000102057393701, global = -2.79342190934e-05, cumulative = -0.00156476995631

The ratio scalar is 0.00767871345324

The toal volume  is 0.01

The percentage of fluid domain  is 0.767871345324

omegaVol is 1.331

Total Pressure at the inlet: 18.3146365858

Total Pressure at the outlet: 0.533553352625

The total difference is: 17.7810832332

ExecutionTime = 1.05 s

Я пытался

grep "The total difference is:" | cut -d' ' -f9   log

но, похоже, не работает, и я не понимаю, почему.

Есть идеи? Спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

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

Когда вы делаете это так, это работает:

grep "The total difference is:" log | cut -d' ' -f5

P.S .: Вы также выбрали неправильное поле. Сейчас 5, а не 9.

0 голосов
/ 08 ноября 2018

Что по этому поводу:

grep "The total difference is:" log | grep -o "[0-9.]*"

Первый grep занимает всю строку, содержащую соответствующий текст, второй - только цифры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...