首页 > 解决方案 > 在字符串中查找负数

问题描述

我得到了用户视力的数据文件。我怎样才能使用 grep 只找到右眼负视力的用户?

数据是这样排序的(名称、右、左)

$ Bruce,-4.5,-3.5
$ Amanda,+2.0,+2.0
$ Roger,+3.0,-1.5 

到目前为止我所拥有的:

$ grep '\-\d*' <file>

输出:

Bruce,-4.5,-3.5   
Roger,+3.0,-1.5 

预期输出:

Bruce,-4.5,-3.5

标签: unixgrep

解决方案


$ grep -E '.*,-[0-9]+.[0-9]+,.*' file
Bruce,-4.5,-3.5

您还可以使用awk和分隔,withFS

$ awk -F, '$2~/-[0-9]+.[0-9]+/ {print}' file
Bruce,-4.5,-3.5

推荐阅读