我需要一个shell脚本采取的两个输入shell脚本中找到数
-
它必须搜索
- 主目录和
- 模式中进行搜索的目录和输出数搜索模式主目录所有文件(.c和.h文件)
它必须打印在主目录&每个子目录中找到的模式的数量。
main dir --> Total pattern found = 5
|
sub dir --> 3
|
sub dir --> 2
我需要一个shell脚本采取的两个输入shell脚本中找到数
它必须打印在主目录&每个子目录中找到的模式的数量。
main dir --> Total pattern found = 5
|
sub dir --> 3
|
sub dir --> 2
这应做到:
#!/bin/sh
grep -rl "$1" . | sed -r 's/\/[^\/]+$//' | sort | uniq -c
其工作原理如下:
grep
-r
搜索中的所有文件中的说法$1
供应格局当前目录.
和所有su bdirectories-l
只输出具有文本的图案匹配filename
从所有输出除去,从而只path
(即,目录)保持然后path/filename
计数。它的输出将看起来像这样:
2 .
3 ./sub_dir1
1 ./sub_dir2
6 ./sub_dir2/a_sub_sub_dir
第一列是在一个目录中的模式的匹配的量,第2栏是该目录的名称(.
是主目录) 。
嗨,这工作对我来说,但在shell脚本我有这个命令作为一个单独的文件,但我将如何输入模式到这个文件 – user1580988 2012-08-07 13:03:46
我编辑脚本,现在可以运行一个参数。 – Sicco 2012-08-07 13:08:34
此答案解决您的问题吗? – Sicco 2012-08-15 15:45:20
计算事物的一种方法是使用'wc'命令;例如如果您可以让您的搜索每行生成一个文件,则'wc -l'会打印行数(因此会打印文件数量)。 – 2012-08-07 06:02:29