在某公司招聘的笔试环节中, 有这样一个题目:用shell命令输出a.txt中含有good单词的行数(goodbye这样的不算). 其实, 这个题目还是比较基础的, 考察的是基本命令的用法。 其实主要考察grep和wc.
我们先来看一下错误的方法:
$ cat a.txt
good good study
day day up
good boy
goodbye
goodbye
goodbye
Administrator@51B6904C3C8A485 ~/test
$ cat a.txt | grep good | wc -l
5
Administrator@51B6904C3C8A485 ~/test
$
为什么会错误呢? 因为上面的命令把goodbye这样的行业包括进来了, 也该是包含good单词的行, 正确解法是:
Administrator@51B6904C3C8A485 ~/test
$ cat a.txt
good good study
day day up
good boy
goodbye
goodbye
goodbye
Administrator@51B6904C3C8A485 ~/test
$ cat a.txt | grep good | wc -l
5
Administrator@51B6904C3C8A485 ~/test
$ cat a.txt | grep -w good | wc -l
2
Administrator@51B6904C3C8A485 ~/test
$
结果是2, 正确统计到了含有good单词的行。
尽管是一个小小的笔试题目, 也有两个考察点:
1. grep的用法
2. wc的用法
OK, 本文先介绍到这里。 天才在于积累, 聪明在于勤奋。