Linux shell中在vi打开的文件中查找关键字 linux shell中使用vi命令打开文本文件后,如果需要查找字符
从开头搜索
在命令模式下,输入 / 你要查找的字符
按下回车,可以看到vim把光标移动到该字符处
再按n(小写)查看下一个匹配
按N(大写)查看上一个匹配(capslock切换大小写,也可以在小写状态下按shift+n)
从结尾处搜索
?要搜索的字符串或字符
搜索后,打开别的文件发现也被高亮了,怎么关闭?
命令行模式下,输入:nohlsearch或者:set nohlsearch
可以简写成noh喝set-noh
在Linux系统中,常使用什么命令检索关键字方法一:find命令
find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件 。
命令格式:find 指定目录 指定条件 指定动作
- 指定目录: 所要搜索的目录及其所有子目录 。默认为当前目录 。
- 指定条件: 所要搜索的文件的特征 。
- 指定动作: 对搜索结果进行特定的处理 。
如果什么参数也不加,find默认搜索当前目录及其子目录 , 并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上 。
使用实例:
$ find . -name 'my*'
搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件 。
$ find . -name 'my*' -ls
搜索当前目录中,所有文件名以my开头的文件 , 并显示它们的详细信息 。
$ find . -type f -mmin -10
搜索当前目录中 , 所有过去10分钟中更新过的普通文件 。如果不加-type f参数 , 则搜索普通文件+特殊文件+目录 。
方法二:locate命令
locate命令其实是"find -name"的另一种写法 , 但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息 。Linux系统自动创建这个数据库 , 并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件 。为了避免这种情况 , 可以在使用locate之前,先使用updatedb命令,手动更新数据库 。
使用实例:
$ locate /etc/sh
搜索etc目录下所有以sh开头的文件 。
$ locate ~/m
搜索用户主目录下,所有以m开头的文件 。
$ locate -i ~/m
搜索用户主目录下,所有以m开头的文件,并且忽略大小写 。
linux服务器文本关键字搜索替换1、vi命令下的查找和替换
1.1 vi下的查找
/helloEnter 关键字linux命令:向下查找hello匹配字符串
?helloEnter:向上查找hello匹配字符串
使用关键字linux命令了查找命令之后关键字linux命令,使用如下两个键快速查找:
n:按照同一方向继续查找
N:按照反方向查找
hello是需要匹配的字符串关键字linux命令 , 例如:
/nameEnter#查找name
/nameEnter#查找name单词(注意前后的空格)
除此之外关键字linux命令,hello还可以使用一些特殊字符 , 包括(/、^、$、*、.),其中前三个这两个是vi与vim通用的,“/”为转义字符 。
/^nameEnter#查找以name开始的行
/name$Enter#查找以name结束的行
//^nameEnter#查找^name字符串
1.2 vi下的替换
:s/name/title/#替换当前行第一个 name 为 title
:s/name/title/g#替换当前行所有 name 为 title
:n,$s/name/title/#替换第 n 行开始到最后一行中每一行的第一个 name 为 title
:n,$s/name/title/g#替换第 n 行开始到最后一行中每一行所有 name 为 title
#(n 为数字,若 n 为 . , 表示从当前行开始到最后一行)
推荐阅读
- 执行linux命令调试,linux调试在运行的程序
- sqlserver用户名sa,sqlserver用户名和登录名
- php获取账单数据,php怎么获取post数据
- 直播带货传播学分析,网络带货直播的传播现象
- c语言里函数的类型 c语言中函数类型
- 电脑看直播为什么打字不了,看直播打字发不出去是什么原因
- 怎么用学校的网连路由器,在学校怎么用路由器
- 苹果迷你ios升级,mini升级ios15
- c语言plus函数 plus c语言