sed (Stream  EDitor)是一个强大的字符流编辑器,输入一般是来自文件,默认情况下不编辑原文件,仅对模式空间中的数据作处理;而后,将模式空间打印到屏幕显示

sed基础用法

sed [options]'AddressCommond' file ...

[options]

-n:静默模式,不再默认显示模式空间的内容

-i:直接修改原文件

-f:指定需执行的脚本文件,一般在脚本文件里编辑匹配模式

-e:SCRIPT -e SCRIPT :可以同时执行多个脚本

-r:表示使用拓展正则表达式

Address

1. startline,endline

1,100

2./RegExp/

/^root/

3./pattern1/,/pattern2/

表示第一次被pattern1匹配到的行开始,至第一次被pattern2匹配到的行结束,中间的所有行。

4.LineNumber

表示指定的行

$:表示最后一行  $-1:表示倒数第二行

5.Startline, +N

从Startline开始,向后的N行,共N+1行

Command:

d: 删除指定的行

sed '1,2d' /mnt/passwd

sed '4,$-1d' /mnt/passwd

sed '/nologin/d' /mnt/passwd

sed '1,+3d' /mnt/passwd

p:显示符合条件的行

sed '/^\//p' /mnt/passwd

a:\"string":在指定的行后面追加新行,内容为“string”

sed '2a\hello linux' /mnt/passwd

c:\'string' :用新文本替换指定行文本

sed '1c\redhat' /mnt/passwd

i:\string :在指定的行前面添加新行,内容为"string"

sed '2i\hello linux' /mnt/passwd

r:FILE:将指定的文件添加至符合条件的行处

sed '1,2r /etc/group' /mnt/passwd

sed '$r /mnt/tuantuan.sh' /mnt/yy.sh >> /mnt/kiosk.sh (合并文件)

w:将指定范围内的内容另存至指定的文件中

sed '/nologin/w /mnt/123' /mnt/passwd

s:查找并替换,默认只替换每行中第一次被匹配到的字符串

s/pattern/string/修饰符

sed 's/nologin/NOLOGIN/' /mnt/passwd

sed 's/^\//#/' /mnt/kiosk.sh

sed -r 's/^[[:space:]]+//' /mnt/passwd  ##删除行首的空白符

sed 's/\(wer:\)[0-9]\(:gtrh\)/\17\2/g' /mnt/456 ##将wei:3:gtrh行中数字替换成7

sed 's/^#+//g' /mnt/yy.sh  ##删除/mnt/yy.sh文件中开头的#号

sed -r 's/^#[[:space:]]+//g' ##删除开头的#号及后面的空白字符

sed -r 's/^[[:space:]]+#+//g' ##删除以空白字符后跟#号的空白字符及#号

g:全局变量

i:忽略字符大小写

sed 's/b..h/&r/g' /mnt/passwd

sed 's/\(b..h\)/\1r/g' /mnt/passwd

sed 's/b\(..h\)/B\1/g' /mnt/passwd

s/// 格式也可用 s###、s@@@
代替

最新文章

  1. linux文件目录结构
  2. Js~(function(){})匿名自执行方法的作用
  3. 【Win10】让 AppBarButton 支持更复杂的 Icon 内容
  4. CoffeeScript及相关文本标记语言
  5. angular的GitHub Repository Directive Example学习
  6. __HTML_5读取文件API
  7. 转:jQuery Ajax 实例 全解析
  8. 配置FTP服务
  9. 基于特定值来推断隐藏显示元素的jQuery插件
  10. ubuntu下安装java和eclipse
  11. Java中间MD5加密算法完整版
  12. 微信小程序+OLAMI(欧拉蜜)自然语言API接口制作智能查询工具--快递、聊天、日历等
  13. Chrome等浏览器下出现net::ERR_BLOCKED_BY_CLIENT的解决办法
  14. Java〜slf4日志框架的使用
  15. 【Python 07】汇率兑换1.0-2(基本元素)
  16. HoloLens开发手记-全息Hologram
  17. Spark机器学习(9):FPGrowth算法
  18. Onsen UI for React文档
  19. firefox插件卸载
  20. oracle数据据 Python+Pandas 获取Oracle数据库并加入DataFrame

热门文章

  1. HTTP(一)
  2. 贴现力 (force of discount)
  3. 【设计模式最终总结】桥接模式 VS 外观模式
  4. 为什么说 Java 程序员必须掌握 Spring Boot ?
  5. C#图解教程读书笔记(第2章 C#编程概述)
  6. JSTL1.2学习总结
  7. bzoj1818 [Cqoi2010]内部白点
  8. JS中confirm弹出框
  9. 关于PHP数组你应该知道的事情
  10. Codeforces Round #535 (Div. 3) E2. Array and Segments (Hard version) 【区间更新 线段树】