Я пытаюсь получить слово "1.23" из этой строки.
Строка:
"1 USD в SGD 1.23".
Я знаю, что регулярное выражение можетнайти слова, но я хочу получить число после SGD, которое является "1.23".
Спасибо.
Работает с -P (для Perl regular expression):
-P
Perl regular expression
grep -P "(?<=\bSGD)\s*1\.23"
Регулярное выражение может быть примерно таким: \bSGD\s+(\d+(?:\.\d+)?), но что работает с grep, я не уверен.
\bSGD\s+(\d+(?:\.\d+)?)
С помощью perl вы можете делать подобные вещи:
cat foo.txt | perl -n -e '/\bSGD\s+(\d+(?:\.\d+)?)/ && print "$1\n"'