use*_*075 185 linux shell grep
使用xenserver,我想对目录中的每个文件执行命令,从命令输出中删除一些东西并将其附加到文件中.
我清楚我想要使用的命令以及如何根据需要grep out string.
但是我不清楚的是我如何让它在每个文件上执行此命令,转到下一个文件,直到找不到更多文件.
umi*_*umi 203
grep $PATTERN *就足够了.默认情况下,grep会跳过所有子目录.但是,如果你想通过它们,那grep -r $PATTERN *就是这种情况.
Nar*_*ain 135
在Linux中,我通常使用此命令以递归方式grep dir中的特定文本
grep -rni "string" *
Run Code Online (Sandbox Code Playgroud)
哪里,
r = recursive即,搜索当前目录中的子目录
n =将行号打印到stdout
i =不区分大小写的搜索
Rob*_*Rob 28
使用find.说真的,这是最好的方法,因为那时你可以真正看到它正在运行的文件:
find . -name "*.sql" -exec grep -H "slow" {} \;
Run Code Online (Sandbox Code Playgroud)
注意,-H是特定于mac的,它在结果中显示文件名.
Noa*_*nos 13
要在所有子目录中搜索,但仅在特定文件类型中搜索,请将 grep 与--include.
例如,在当前目录中递归搜索 *.yml 和 *.yaml 中的文本:
grep "text to search" -r . --include=*.{yml,yaml}
Run Code Online (Sandbox Code Playgroud)