末行模式重点讲解(这是学好sed的基础)
1)地址定界
:start_pos[,end_pos]
#: 特定的第#行,例如5 为第五行
.: 当前行
$:最后一行
#,#:指定行范围,左侧为起始行
#,#+:指定行范围,右侧为左侧行的偏移量 ,例如:3,+7
%:全文
/pattern/:第一次被模式所匹配到的行
2:可实现编辑操作 ,同编辑命令一同使用
d:表示直接删除,要求直接跟在地址定界符号的后面, 例如::.,$d 表示当前行到最后一行删除。
y:用来复制地址定界匹配到的行
c:用来修改地址定界匹配到的行
w /path/to/file :将范围内的文本保存至文件中
r /path/to/file:将指定的文件的文本插入指定位置
3:查找
/pattern:查找模式匹配到的所有字符串,向下查找, 然后在键盘上按n键会继续向下匹配
?pattern: 查找模式匹配到的所有字符串,向上查找,然后在键盘上按n键会继续向上匹配
查找并替换(极其重要)
(1)格式:地址定界符s/要查找的内容/替换为的内容/修饰符
要查找的内容:可以使用正则表达式
替换为的内容:不能使用正则表达式,但是可以引用
如果使用了分组,也就是在要查找的内容中使用了( )话,可以使用后向引用, \1表示引用第一个括号匹配的内容, \2表示第二个括号匹配的内容, \3表示第三个括号匹配的内容也可以直接引用查找模式匹配到的整个文本,直接使用匹配模式的全部文本:用&符号引用整个模式匹配到的文本
(2)修饰符
i:忽略大小写
g:全局替换,也就是如果不加g的话,那么只是一行匹配一个,如果第二个被匹配了也不会被替换,如果加了g,那么一行中无论匹配到多少个都会被替换
(3)可把分隔符替换为非常用的字符
例如:s@@@
s###
练习
1 . 复制/etc/grub2.cfg文件至/tmp目录中,用查找替换命令删除/tmp/grub2.cfg文件中以空白字符开头的行的行首的空白字符
:%s#^[[:space:]]\+##g \+:匹配其前面的字符一次或多次,即其前面的字符要出现至少一次 %:全文
2 :复制/etc/rc.d/init.d/functions文件至/tmp目录中,用查找替换命令为/tmp/functions文件的每一个空白字符开头的行的首行加上#
%s#^[[:space:]]#\#&#g
3 . 为/tmp/grub2.cfg文件的前三行的行首加上#号
1,3s#^.#\#&# .: 当前行 1,3地址定界 1,3s/^/\#/也可以
4 . 将/etc/yum.repos.d/CentOS-Base.repo文件中所有的enabled=0替换为ennabled=1,所有的gpgcheck=0替换为gpgcheck=1
%s#\(enabled\|gpgcheck\)=0#\1=1#g
vim的末行模式讲解
原创
©著作权归作者所有:来自51CTO博客作者Jweixu的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:grep文本处理工具
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
设计模式-策略模式
设计模式之策略模式
策略模式 设计模式 -
Linux vim进入编辑模式Linux
-
Vim 末行命令的编辑
一,命令行编辑Ctrl-b或者Home 到命令行首Ctrl-e或者End 到命令行尾Ctrl-w 光标之前的整个单词Ctrl-u 光标之前的所
history 记录 单词 历史 insert -
linux下输入模式和末行模式有哪些命令
拿VI来说,# vi /etc/passwd这样就直接进入到了命令模式,按dd删除光标所在行,yy复制当前行,p为粘贴按下shfit+: 这样进入末行模式,按a,i,o等,都可以进入输入模式
linux 职场 休闲 linux 输入模式 末行模式 命令 -
vi编辑器:命令模式、输入模式、末行模式
1、命令模式(command mode)—执行命令 在该模式中,可以输入命令来执行许多种功
Linux vi编辑器 命令模式 输入模式 末行模式