问题描述:linux系统中查找含有某个字符的文件,进行编辑修改

1.使用grep命令查找到符合条件的文件

命令格式:grep  ‘匹配内容’  文件路径  显示方式(-r  -n)

-i:忽略大小写进行匹配。
-v:反向查找,只打印不匹配的行。
-n:显示匹配行的行号。
-r:递归查找子目录中的文件。
-l:只打印匹配的文件名。

操作示例:

遍历查询目录下所有符合条件的文件:

[root@iZ2vcb97gp]# grep 'jd()' . -r -n   【显示匹配文件名,同时显示行数,常用】
./路径/文件名.php:25: public function jd(){    
[root@iZ2vcb97gp]# grep 'jumpyd()' . -r -l   【只显示匹配文件名,不显示行数】
./路径/文件名.php

上述.表示在当前目录下遍历,也可以自行填写遍历目录,如grep 'jd()' docs/ -r -n

2.vim打开文件并编辑保存

通过上述grep命令找到相应的文件后,使用vim 文件名命令打开文件(通过grep命令已经找到了对应的文件及行数,此时也可以进入宝塔后台进行修改)

2.1.命令模式下(如果在文本输入模式下,按esc键进入命令模式)输入:set nu 显示行号,方便查找代码编辑

2.2.按下i键,进入文本插入模式,编辑修改内容

2.3.编辑修改完毕后,按esc键进入命令模式,输入:wq保存并退出

如果无意中操作错了,可以使用‘u’键恢复(命令模式下)

附其他vim操作命令:

一、退出vim
:q 未编辑时退出vim
:q! 编辑后退出并且不保存
:wq 编辑后退出且保存
:x 保存后退出

二、多行注释
1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(区块)模式;
2. 在行首使用上下键选择需要注释的多行;
3. 按下键盘(大写)“I”键,进入插入模式;
4. 然后输入注释符(“//”、“#”等);
5. 最后按下“Esc”键。
注:在按下esc键后,稍等一会才会出现注释
三、删除多行注释
1. 首先按esc进入命令行模式下,按下Ctrl + v, 进入列模式;
2. 选定要取消注释的多行;
3. 按下“x”或者“d”.
注意:如果是“//”注释,那需要执行两次,如果是“#”注释,执行一次
四、多行删除
1.vim 文件名,首先在命令模式下,输入“:set nu”显示行号;
2.通过行号确定你要删除的行;
3.命令输入“:32,65d”,回车键,32-65行就被删除了
如果无意中删除错了,可以使用‘u’键恢复(命令模式下)

五、文件夹、文件创建、删除

1.使用mkdir 文件夹名 命令创建目录,touch 文件名 命令创建文件

2.使用rmdir 文件夹名 命令删除目录,rm 文件名 删除文件

【日常运维笔记】linux系统使用grep命令查找文件,并用vim编辑文件的更多相关文章

  1. Jenkins日常运维笔记-重启数据覆盖问题、迁移、基于java代码发版(maven构建)

    之前在公司机房部署了一套jenkins环境,现需要迁移至IDC机房服务器上,迁移过程中记录了一些细节:1)jenkins默认的主目录放在当前用户家目录路径下的.jenkins目录中.如jenkins使 ...

  2. 运维 07 Linux系统基础优化及常用命令

    Linux系统基础优化及常用命令   Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令 ...

  3. 【Linux 运维】linux系统关机、重启、注销命令

    linux 关机.重启.注销命令: 关机命令: shutdown -h now 立刻关机(生产常用) shutdown -h  +1  一分钟后关机      (    shutdown -c 可以将 ...

  4. 【Linux 运维】linux系统查看版本信息

    查看linux系统版本信息: [root@kvm-host~]# cat /proc/version       (Linux查看当前操作系统版本信息)Linux version 3.10.0-514 ...

  5. 运维笔记--linux环境提示python: command not found

    场景描述: 新部署的容器环境,终端执行python命令,提示没有该命令. 从报错异常可以看出,可能是python环境未安装. 分析思路: 检查python路径: 方式一:type -a python ...

  6. linux(centos8):用grep命令查找文件内容

    一,grep的用途: linux平台有最常用的三大文本处理工具:awk/sed/grep grep的功能:搜索指定文件的内容,按照指定的模式匹配,并输出匹配内容所在的行. 需要注意的地方:grep只支 ...

  7. 【Linux 运维】linux系统修改主机名

    主机名的修改:  1.命名解释: [root@localhost~]# 分别代表: 用户名(root) 主机名(localhost) 当前路径(~,当前用户的home目录) 权限标志位(#代表root ...

  8. 【linux运维】linux系统上忘记密码如何操作

    目录 红帽系统忘记密码操作 红帽系统设置ip,主机名 centos系统忘记密码操作 一.红帽系统忘记密码操作 1)再出现以下界面后按键盘e键 2)进入以下界面后,再次按e键 3)使用上下键选择第2项或 ...

  9. 运维笔记--Linux查找指定目录下包含某字符串的文件

    待整理: 参考:http://blog.sina.com.cn/s/blog_53d496960102xg5c.html 例: find /home/logstash/ -type f | xargs ...

  10. 运维笔记--linux下忘记mysql root密码

    补充链接:Windows下忘记密码处理: https://www.cnblogs.com/hellojesson/p/5972950.html 场景描述: Linux环境下忘记 root 密码, 1. ...

随机推荐

  1. [AI回答]Java中Long和long的区别,为什么在Springboot项目中一般使用Long

    Long 和 long 的区别 在Java中,Long 和 long 是两个不同的概念,它们分别代表不同的数据类型: long: 这是一个 基本数据类型 (primitive type). 它用于存储 ...

  2. 【Javaweb】【Js】【Servlet】Js与Servlet交互 - Js请求Servlet与响应Servlet

    [原生JS][POST]请求和响应(一) 虽然效率有点低,但是作为初学者,可以先看看这个,然后再去看后面用Json处理. XMLHttpRequest介绍 XMLHttpRequest 对象用于在后台 ...

  3. maven打包时跳过TEST的方式汇总

    使用maven打包时如何跳过test,有以下几种方式 针对spring项目 <plugin> <groupId>org.apache.maven.plugins</gro ...

  4. X-Frame-Options

    X-Frame-Options头主要是为了防止站点被别人劫持,iframe引入 nginx配置形式: add_header X-Frame-Options ALLOWALL; #允许所有域名ifram ...

  5. Eureka 缓存机制详细配置

    https://blog.csdn.net/qwe86314/article/details/94963865 上节为大家介绍了 Eureka 的工作原理,其中提到了 Eureka Server 内部 ...

  6. Qt编写的项目作品5-物联网管理平台

    一.功能特点 1 软件模块 设备监控模块,包括数据监控(表格形式展示).设备面板(面板形式展示).地图监控(地图形式展示).曲线监控(曲线形式展示). 数据查询模块,包括报警记录.运行记录.操作记录. ...

  7. Qt开源作品29-NTP服务器时间同步

    一.前言 很多软件都有时间同步的功能,尤其是Qt在嵌入式设备上的,有时候还有很多是没有UI界面的程序,而硬件上有个时钟,时间久了难免没有电,需要从服务器来同步时间来保证本地的时间是正确的,不然本地记录 ...

  8. 优化博客Ⅰ-压缩图片为webp格式

    自动压缩博客图片为webp格式 作为自己的个人博客,我非常喜欢搞一些花里胡哨的东西,其中就包括不少精美图片,但是过多的图片会占用大量的网络资源导致博客加载速度变慢. 那怎么办呢? 第一个想到的就是升级 ...

  9. 在Ubuntu WSL2里配置GDAL Docker环境

    在Ubuntu WSL2里配置GDAL Docker环境 启用systemd # Ubuntu中执行 echo -e "[boot]\nsystemd=true" | sudo t ...

  10. [rustGUI][iced]基于rust的GUI库iced(0.13)的部件学习(01):为窗口设置布局(column、row)

    前言 本文是关于iced库的部件介绍,iced库是基于rust的GUI库,作者自述是受Elm启发. iced目前的版本是0.13.1,相较于此前的0.12版本,有较大改动. 本合集是基于新版本的关于分 ...