在文本文件中查找float

时间:2010-03-16 13:40:33

标签: bash

我试图使用grep在一个巨大的文本文件中找到一些浮点数(如-1234.5678),所以我想到了:

grep -n'-1234.5678'

但我得到错误,你知道使用grep的正确方法是什么?为什么?有什么比这更容易了吗?

由于

3 个答案:

答案 0 :(得分:2)

如果模式可能以连字符开头,请使用grep -e

 grep -n -e -1234.5678

答案 1 :(得分:2)

你可以尝试这些

$ 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

答案 2 :(得分:0)

如果在命令行中输入,请尝试

grep -n "\-1234.5678"

避免将1234.5678解释为旗帜。