我试图使用grep在一个巨大的文本文件中找到一些浮点数(如-1234.5678),所以我想到了:
grep -n'-1234.5678'
但我得到错误,你知道使用grep的正确方法是什么?为什么?有什么比这更容易了吗?
由于
答案 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解释为旗帜。