我需要从文件中查找特定数据。我想从我整个Linux系统中搜索它。这可能吗?
答案 0 :(得分:2)
上面的答案会起作用,但是会尝试grepping目录以及inturn将引发错误的模式。最好的解决方案是仅搜索文件。这也将大大缩短搜索时间。
find / -type f -exec grep -i <pattern> {} \;
如果您只想列出包含该模式的文件,可以在grep中传递-l
开关。
find / -type f -exec grep -il <pattern> {} \;
如果您要列出文件和模式,可以在grep中传递-H
开关。
find / -type f -exec grep -iH <pattern> {} \;
@alvits - 感谢您的建议。
答案 1 :(得分:0)
find / -name "*" -exec grep -q <pattern> '{}' \; -print
此命令从根目录(/)搜索;等所有子目录。
您可以替换搜索模式来代替命令。
它将打印包含您的模式的所有文件。
如果您知道搜索文件的文件扩展名,则可以通过在命令中将*
替换为*.extention
来限制搜索。