问题描述:linux系统中查找含有某个字符的文件,进行编辑修改
1.使用grep命令查找到符合条件的文件
命令格式:grep ‘匹配内容’ 文件路径 显示方式(-r -n)
-i:忽略大小写进行匹配。
-v:反向查找,只打印不匹配的行。
-n:显示匹配行的行号。
-r:递归查找子目录中的文件。
-l:只打印匹配的文件名。
操作示例:
遍历查询目录下所有符合条件的文件:
[root@iZ2vcb97gp]# grep 'jd()' .
./路径/文件名.php:25: public function jd(){
[root@iZ2vcb97gp]# grep 'jumpyd()' . -r -l 【只显示匹配文件名,不显示行数】
./路径/文件名.php
上述.表示在当前目录下遍历,也可以自行填写遍历目录,如grep 'jd()' docs/
2.vim打开文件并编辑保存
通过上述grep命令找到相应的文件后,使用vim 文件名命令打开文件(通过grep命令已经找到了对应的文件及行数,此时也可以进入宝塔后台进行修改)
2.1.命令模式下(如果在文本输入模式下,按esc键进入命令模式)输入:set nu 显示行号,方便查找代码编辑
2.2.按下i键,进入文本插入模式,编辑修改内容
2.3.编辑修改完毕后,按esc键进入命令模式,输入:wq保存并退出
如果无意中操作错了,可以使用‘u’键恢复(命令模式下)
附其他vim操作命令:
一、退出vim
:q
: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 文件名