Команда Linux для печати некоторых символов из длинной строки - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть файл с именем text.txt, который содержит:

id="qwidget_lastsale" class="qwidget-dollar">$2020.22\div

Мне действительно нужно распечатать слово 2020.22 из этого текстового файла.

Iиспользовал команду:

awk '{print $2}' text.txt | grep 2020.22

но мой вывод напечатает:

class="qwidget-dollar">$2020.22\dev

Какую команду можно использовать для вывода только 2020.22 из этой строки?

Ответы [ 2 ]

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

вы хотите извлечь долларовую стоимость?

$ grep -oP '(?<=\$)[0-9.]+' file
0 голосов
/ 21 ноября 2018
echo 'id="qwidget_lastsale" class="qwidget-dollar">$2020.22\div' | awk '{print gensub(/[^0-9.]+([0-9.]+).*/, "\\1","1", $2)}' 
2020.22

В gensub мы заменяем большую часть $ 2 только числовым компонентом, а затем распечатываем его с помощью оператора print.

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