这就是我的数据文件的样子:
names adress number score
blabla blabla 1212 5
blabla blabla 1212 4.5
我需要在行的末尾提取5行 当我尝试使用grep -e 5 $时,我也得到4.5行。 有什么想法吗?
答案 0 :(得分:2)
你需要在5之前找到有空格的行吗?尝试空格字符\s
grep -e \s5$
答案 1 :(得分:1)
与Evan的答案基本相似。只使用posix空格类而不是\ s:
grep -E "[[:space:]]5$"
答案 2 :(得分:0)
Evan的答案就是这样。为了完整起见,您还有其他方法:
sed
:只打印以 space + 5结尾的那些。
$ sed -n '/\s5$/p' file
blabla blabla 1212 5
awk
:只打印最后一个字段正好为5
的字段。我使用"5"
,否则它将是一个数字比较,而05
将匹配。
$ awk '$NF=="5"' file
blabla blabla 1212 5
grep
:相同,但引用:
$ grep "\s5$" file
blabla blabla 1212 5