linux下怎样在一个文件里面查找一个字符串?

linux下怎样在一个文件里面查找一个字符串?

在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。

Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。

Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要转义,例如/vim\$匹配"vim$"。

实战一下:

1、用vim打开要查找的文件

2、在normal模式下/即可进入查找模式,输入要查询字符串

3、光标停留在loop上

4、按下n会查找下一个,注意光标

更多命令:

注意,如果没有安装vim,系统会提示安装语句,复制运行即可安装vim

参考资料:vim中文文档

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-14

 可以使用vim打开文件,然后通过 vim编辑 中的 /(向后查找)或者 ?(向前查找)来查找相应的字符串。


示例:用vim打开/etc/passwd查找admin用户名

vim /etc/passwd

打开文件后,直接输入 /admin 回车即可查找如下图所示:

回车执行,vim查找到后,会标识出来,如下图所示:


另外:使用vim也可以打开可执行程序来查找字符串(在程序没有加壳或者使用其它字符串保护的前提下)。

示例:在test程序中查找hello字符串。

虽然使用vim打开二进制程序文件,显然的是乱码,但是明文字符串依然能查找到,如下图所示:

扩展:在Linux中如果要查找二进程文件即应用程序中的字符串,可以使用反汇编器、调试器等等,比如IDA,就提供强大的字符串查找功能。

第2个回答  推荐于2019-09-14

概述

1、在终端使用grep命令查找

2、用vim编辑文件查找

步骤详解

一、使用grep命令查找

格式:

grep “要查找的字符串” 文件名

例子:

grep “www.dutycode.com” test.txt

文件名可以使用基本正则表达式(BRE),例如, 查找test目录下的所有文件,包含www.dutycode.com字符串的文件以及该字符串在第几行。

grep  -n“www.dutycode.com” /root/zzh/test/*

使用-n 参数,可以显示字符串在文件中的行数


二、文件内使用vim编辑查找

使用 vim查找则在normal模式下

在normal模式下按下  /  即可进入查找模式,输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个

格式

/字符串

例子

/test\c

Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要转义,例如/vim\$匹配"vim$",在查找模式中加入\c表示大小写不敏感查找.例如,在文件中查找set:

拓展内容

linux grep命令

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

1.命令格式:

grep [option] pattern file

2.命令功能:

用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。

本回答被网友采纳
第3个回答  2008-12-27
grep 字符串 文件名