Найти поплавок в текстовом файле - PullRequest
0 голосов
/ 16 марта 2010

Я пытаюсь найти какое-то число с плавающей точкой (например, -1234.5678) в огромном текстовом файле с использованием grep, поэтому я подумал:

grep -n '-1234.5678'

но я получаю ошибки, знаете ли вы, как правильно использовать grep и почему? есть что проще?

Спасибо

Ответы [ 3 ]

2 голосов
/ 16 марта 2010

Используйте grep -e в тех случаях, когда шаблон может начинаться с дефиса.

 grep -n -e -1234.5678
2 голосов
/ 16 марта 2010

вы можете попробовать эти

$ cat file
1 2 3 -1234.5678 4 5 1.4
ass 34.55334 aslfjas

$ awk '{for(i=1;i<=NF;i++)if($i~/^-?[0-9]+\.[0-9]+$/){print $i}}' file
-1234.5678
1.4
34.55334

$ grep -oE "\-?[0-9]+\.[0-9]+" file
-1234.5678
1.4
34.55334
0 голосов
/ 16 марта 2010

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

grep -n "\-1234.5678"

, чтобы избежать интерпретации 1234.5678 как флага.

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