我在 VMWare 上使用 Ubuntu,但由于安全限制,我无法连接到互联网。
我想知道是否有办法通过终端搜索字符串并找到该字符串位于文件中的哪一行。
答案1
选项太多,无法一一列举
grep -r 'pattern_to_match' directory_to_search
将输出与模式匹配的文件名和整行。
答案2
我使用的最好的方法是使用带有选项 -ri 的 grep 命令(递归和不区分大小写的搜索):
$ grep -r <text_pattern_to_search> directory_or_path_to_search
可能对您有用的选项:
-i - case insensitive
-r, --recursive like --directories=recurse
-R, --dereference-recursive likewise, but follow all symlinks
--include=FILE_PATTERN search only files that match FILE_PATTERN
--exclude=FILE_PATTERN skip files and directories matching FILE_PATTERN
--exclude-from=FILE skip files matching any file pattern from FILE
--exclude-dir=PATTERN directories that match PATTERN will be skipped.
欲了解详细信息,您可以执行
grep --help
或man grep
在 Linux 终端中执行。
干杯
答案3
如果您只想查找文件中字符串所在的行号,请使用以下命令:
grep -n '/string_To_Find/=' directory/file_Name
如果您想要查找行号并输出字符串所在行的完整行名,请使用以下命令:
grep -n 'string_To_Find' directory/file_Name
如果您只想查找字符串所在的完整行名称,请使用以下命令:
grep -r 'string_To_Find' directory/file_Name