sed处理文本方法

1.文本或管道输入
2.读入一行到模式控件
3.sed命令处理
4.输出到屏幕
所以 sed是一个流处理编辑器

sed一次处理一行内容
sed不改变文件内容(可以通过重定向改变文件)

sed格式

sed命令行格式

sed [options] 'command' file(s)

sed脚本格式

sed -f scriptfile file(s)

options: -e; -n
command包含行定位(正则)sed命令

-n 一般和 p组合使用,用来输出
例如:

sed -n '/root/p' /etc/passwd

这段命令是打印行中包含root的那一行
这里 /root/ 就是通过正则进行的行定位,p为打印的命令
其实-n 和p组合的情况下就是为了你取出多行输出中的固定的一条数据


也可以通过这样进行行定位:

sed -n '1p' /etc/passwd

这段命令是打印第一行的意思
这个属于通过行号进行的行定位


还可以这样:

sed -n '1,10p' /etc/passwd

这段命令是打印1到10行的意思


还可以通过步长进行跳行输出

sed -n '1~2p' /etc/passwd

sed替换命令

s/正则/替换成的内容/
例如:

cat /etc/passwd |sed 's/:/@/'

将 passwd 文件中的 : 替换成 @
细心的话就会发现 每一行只替换了一个 @
如果每一行全部替换,就这样:

cat /etc/passwd |sed 's/:/@/g'

替换的高级语法

\1 &

其他

{} 里面可以写多条命令,命令之间用;分割

最新文章

  1. 学习android 官方文档
  2. 在Entity Framework 7中进行数据迁移
  3. 【GOF23设计模式】原型模式
  4. Css 特殊或不常用属性
  5. bower install和cnpm install
  6. java.lang.NoClassDefFoundError: javax/wsdl/OperationType
  7. [Effective C++ --009]确定对象被使用前已先被初始化
  8. web系列教程之php 与mysql 动态网站 。检索 与更新。
  9. jquery.tochart.js
  10. java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
  11. Windows 10下Docker使用经验谈
  12. js实现全选反选(开关门)
  13. request.getRealPath为什么会被代替
  14. CentOS6.9快速安装配置svn
  15. .NET Core、Xamarin、.NET Standard和.NET Framework四者之间的区别
  16. 浅谈js的数字格式
  17. Codeforces 841B - Godsend
  18. 20145325张梓靖 《网络对抗技术》 PC平台逆向破解
  19. learning ddr pagesize calculate
  20. canvas实现涂鸦板

热门文章

  1. Python 第二次实验
  2. 面试突击83:什么情况会导致@Transactional事务失效?
  3. Django 聚合分组F与Q查询及choices
  4. Elasticsearch: analyzer
  5. Solutions:如何运用Elastic App Search快速建立出色的React搜索体验
  6. 3.配置Grafana Dashboard
  7. MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端
  8. JDK19新特性使用详解
  9. postman7种断言的使用
  10. 浅谈-动态路由之OSPF的理解