使用通配符和grep

时间:2013-10-01 06:34:08

标签: linux bash unix grep

我如何知道有多少学生在我的服务器中拥有o的帐户名称。他们的主目录在/home/students

我试过了

grep *o* /home/students

这不起作用。

4 个答案:

答案 0 :(得分:2)

你可以说:

find /home/students -mindepth 1 -maxdepth 1 -type d -name "*o*"

这将返回包含o

的目录

为了找到计数,管道到wc -l

find /home/students -mindepth 1 -maxdepth 1 -type d -name "*o*" | wc -l

This帖子解释了为什么你不应该解析ls的输出。

答案 1 :(得分:1)

这不会列出目录内容:

ls -1d *o* | wc -l

答案 2 :(得分:0)

使用

ls -1 /home/students | grep o | wc -l

- 你不能只做ls -1 /home/students/*o*,因为它会列出匹配目录中的文件。

答案 3 :(得分:0)

使用具有适当文件模式的数组:

o_students=( /home/students/*o*/ )
echo "${#o_students[@]}"