RHCE培训笔记-6
Grep
grep是linux中的文本过滤工具,以行为单位输出
同时还有一个工具叫做egrep,和grep本质上没啥区别
grep -E = egrep
常用的正则表达式:
- . : 一个任意字符,一定要有一个
- * : 0个或者一个,匹配多个在它之前的字符
- [] : []中的任意一个字符,[]内为一个范围 例如 [0-9]
- ? : 0个或者1个它前面的字符
- + : 匹配至少1次在它前面的字符
- {m} : m表示次数,m次出现在它前面的字符 例如 {2}
- $ : 结尾
- ^ : 开头
用法:
grep -i : 忽略大小写
grep -v : 取反
grep -v ^$ : 去掉空行
grep -A <num> : 只显示匹配内容和后面指定行数的内容(行数包括匹配的那一行)
演示
不匹配配置文件中#开头的无效配置
啥都匹配
VIM编辑器
vim编辑器是vi编辑器的增强版本
用法: vim<filename>
进入vim时的模式为命令行模式,在此模式中可以通过按键的一些操作来选择进入编辑模式或者末行模式
按i
或者 按o
的等可以进入编辑模式,按esc退回命令行模式
按 : 进入末行模式,按esc退回命令行模式
不同模式的作用
- 编辑模式:按a,在当前光标处后面开始编辑,按i,在当前位置编辑,按o,新建一个空行插入(大写的O为上一行插入)
- 末行模式:能保存、退出、查找、替换
定位:
为了更直观的演示,这里用GIF,但是因为我懒,所以只演示几个
定位:在命令行模式中,直接按按键操作,不需要输入
定位这个文件的第一行:(直接按g)
定位到这个文件的最后一行:(G,可以按住shift再按g,或者直接开大写然后按g)
屏幕定位:
- H : 屏幕内显示的内容的第一行
- M : 屏幕内显示的内容的中间行
- L : 屏幕内的最后一行
快速换行:(通过行号定位,需要再末行模式下)
- :10 #指第十行
行内定位: (需要在命令行模式下)
- ^ : 定位到行首
- $ : 定位到行尾
- w : 定位到下一个词
命令行模式操作
文本复制:yy(复制当前行)
复制指定行数: yy 例如:6yy 指复制6行
p(小写):在光标下一行粘贴
P(大写):在光标上一行粘贴
删除当前行:dd
删除光标所在向下的n行:ndd (n为数字)
删除光标所在位置的字符: x 和 del按键功能一样,区别在于一个是命令行模式,一个是编辑模式
在一行中,删除从光标开始到行尾的内容: d$
乱七八糟懒得分类的操作
查找内容:
/<需要查找的内容>
当结果有多个时,按n查找下一个,按N回到上一个
以选出字符为单位的内容,按y复制:v(小写
以行为单位选出内容 按y复制 :V (大写
批量添加内容
ctrl +v :区块选择 选择要添加的行,然后按大写i,输入要添加的字符,按ESC
末行模式
按 :
保存退出 :wq
强制放弃修改退出 :q!
强制保存退出 :x!
强制保存退出 :wq!
替换匹配到的内容
:s/<需要替换的内容>/<替换的内容>
替换所有匹配到的内容
:s/<需要替换的内容>/<替换的内容>/g
查找全文
:%s/<需要替换的内容>/<替换的内容>
指定行的范围替换
:110,180/<需要替换的内容>/<替换的内容>
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android实现单页显示3个Item的ViewPager炫酷切换效果
- Android用文件存储数据的方法
- Android编程监听APK安装与删除等过程的方法
- 人生苦短,我用k8s--------------详解yaml文件
- 排障集锦:九九八十一难之第二十难!-----使用jenkins镜像出现的问题Can not write to /var/jenkins_home/copy_reference_file.log.
- 人生苦短,我用k8s--------------secret和configmap的配置管理
- Go Colly抓取豆瓣电影Top250
- knative client 使用knative client 使用
- Java_web 学习1 Maven安装和使用2 mybatis的配置文件的详解mybatis缓冲mybatis注解延迟加载${} 与 #{} 区别【笔试题】
- Python3 的面向对象
- 【JVM】Int类型在栈中是否会被缓存?
- Python 【os.path()模块解析】
- Pythonic【15个代码示例】
- Django REST framwork的权限验证实例
- Python任务调度利器之APScheduler详解