sed命令
来源:互联网 发布:淘宝店铺的客服电话 编辑:程序博客网 时间:2024/06/13 16:52
#这次只对常用的东西进行总结,sed的东西实在太多了,而且有些东西并不经常用到
【选项】
-i 将处理结果直接写入文件
-n 静默模式,仅显示被处理过的结果
-e 多点编辑
【内置命令】
s 字符串替换
d 删除被匹配的行
a 在选定行下面插入文本
i 在选定行上面插入文本
c 将选定行替换为新文本
【sed元字符】
^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。
$ 匹配行结束,如:/sed$/匹配所有以sed结尾的行。
. 匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。
* 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。
[] 匹配一个指定范围内的字符,如/[ss]ed/匹配sed和Sed。
[^] 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。
\(..\) 匹配子串,保存匹配的字符,如s/\(love\)able/\1rs,loveable被替换成lovers。
& 保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。
\< 匹配单词的开始,/>匹配单词的结束,如/love\>/匹配包含以love结尾的单词的行。
x\{m\} 重复字符x,m次,如:/0\{5\}/匹配包含5个0的行。
x\{m,\} 重复字符x,至少m次,如:/0\{5,\}/匹配至少有5个0的行。
x\{m,n\} 重复字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~10个0的行。
【】
【命令示例】
在示例中我们用到的例子
[lyf@test comm_test]$ cat sed_test lyflyflyf123stysty123stystylyf
1.替换
匹配‘lyf’,并替换为‘lyfs’
[lyf@test comm_test]$ sed 's#.*\(lyf\).*#\1s#g' sed_test lyfslyfslyfsstysty123stylyfs有点小题大做,用到了子串匹配,但是这在实际应用中很常见
2.添加文本
在匹配行之前插入文本
[lyf@test comm_test]$ sed '/lyf/i new_line' sed_test new_linelyfnew_linelyfnew_linelyf123stysty123stynew_linestylyf
在匹配行之后插入文本
lyf@test comm_test]$ sed '/lyf/a new_line' sed_test lyfnew_linelyfnew_linelyf123new_linestysty123stystylyfnew_line
将匹配行替换为新文本
[lyf@test comm_test]$ sed '/lyf/c new_line ' sed_test new_line new_line new_line stysty123stynew_line
- sed命令
- sed命令
- sed 命令
- sed命令
- Sed 命令
- sed 命令
- sed 命令
- sed命令
- sed命令
- sed 命令
- sed命令
- sed 命令
- sed命令
- sed命令
- sed命令
- Sed 命令
- sed 命令
- sed 命令
- Nosql 背景
- 基于ntkoocx.js的在线word编辑
- ios创建证书文件
- linux系统安装、使用中的问题和clock_t计时问题
- 11A - Increasing Sequence
- sed命令
- socket通讯,客户端获取数据丢失问题
- ubuntu10.04 编译安装gcc-5.3.0
- 在android中使用OkHttp框架处理网络请求
- 【BZOJ】2005 [Noi2010]能量采集
- static int 输出
- redis 配置文件
- 推荐大家使用的CSS书写规范、顺序
- 2016 Multi-University Training Contest 1 1002 Chess