Tel*_*Why 10 command-line files directory grep
您如何计算当前目录中所有文件中术语的每次出现?- 和子目录(?)
我已经读过要做到这一点,你会使用grep;确切的命令是什么?
另外,是否可以使用其他一些命令进行上述操作?
kos*_*kos 12
使用grep+ wc(这将满足该术语在同一行中多次出现的情况):
grep -rFo foo | wc -l
Run Code Online (Sandbox Code Playgroud)
-rin grep:在当前目录层次结构中递归搜索;-Fin grep:匹配固定字符串而不是匹配模式;-oin grep: 只打印匹配项;-lin wc:打印行数;grep -rFo foo | wc -l
Run Code Online (Sandbox Code Playgroud)
grep -Rc [term] *会这样做。该-R标志表示您要递归搜索当前目录及其所有子目录。该*是一个文件选择的意义:所有文件。该-c标志grep仅输出出现次数。但是,如果单词在一行中出现多次,则只计算一次。
来自man grep:
-r, --recursive
Read all files under each directory, recursively, following symbolic links only if they are on the command line.
This is equivalent to the -d recurse option.
-R, --dereference-recursive
Read all files under each directory, recursively. Follow all symbolic links, unlike -r.
Run Code Online (Sandbox Code Playgroud)
如果您的目录中没有符号链接,则没有区别。