码迷,mamicode.com
首页 > 系统相关 > 详细

shell脚本--sed的用法

时间:2020-07-25 10:05:51      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:url   absolute   style   参数   data-   locate   detail   需要   custom   

sed在处理文本时是逐行读取文件内容,读到匹配的行就根据指令做操作,不匹配就跳过。
sed是Linux下一款功能强大的非交互流式文本编辑器,可以对文本文件进行增、删、改、查等操作,支持按行、按字段、按正则匹配文本内容,灵活方便,特别适合于大文件的编辑。详细用法参考:shell脚本--sed的用法
sed 55d test   # 将test文件的第55行删除后的文件内容打印在控制台上,文件本身没有被修改
sed -i 55d test # 将test文件的第55行删除,文件本身被修改了
使用 -i 参数可能会遇到一个 "sed: 1: "xxx": invalid command code ."的问题,参考解释和解决方案:
i 本来的意思就原地替换的意思, 为啥不能替换呢? 一般情况 原地替换是比较危险的行为, 为了规避这样的行为, 需要你提供一个 备份的扩展名, 才能进行替换. 如果你给了空的扩展,就不会备份源文件. 但这不是推荐的方式. 因为 你面临这损坏或者部分损坏的危险 有可能恰巧是当磁盘空间用完的时候.
 
来加上扩展名 来试验一下
sed  -i ".bak"  5d test
此时 就会发现 一个备份文件
├── test
├── test.bak
如果不想备份的话, 可以不提供扩展名称. 加上一个空串即可.
sed  -i ""  5d test
 
 
 

shell脚本--sed的用法

标签:url   absolute   style   参数   data-   locate   detail   需要   custom   

原文地址:https://www.cnblogs.com/hi3254014978/p/13375046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!