简述Linux文本处理命令“sed”
文本处理编辑命令sed
sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。
命令格式:
sed [选项] ‘(截取的行)[动作]' 文件名
选项:-n:只把经过sed处理的行输出
-e:允许输入多条动作
-i:sed修改的结果写入文件
截取行:(1)直接输入行号
(2)/正则表达式/
(3)x,y 从x到y行,也可以用正则取代
(4)x,y! 取反
(5)x~y 从x行开始,步进y行
(6)$ 文档末
动作:p 打印 eg: sed -n '(行)p' student.txt
a 行后增加新的一行,i 行前增加新的一行
sed '1,5a =============' student.txt
sed '/正则/a ============' student.txt
d 删除某行
sed '/正则/d' student.txt
sed '4d' student.txt
c 替换指定行
sed '2c canglaoshi bujigee' student.txt
sed '/正则/c lalalalalalala' student.txt
s 替换指定字符串(替换每行第一个);结尾g表示每一行所有
sed '/正则(定位行)/s/正则(旧)/abcd(新)/' student.txt
sed 's/正则(旧)/abcd(新)/' student.txt (全文替换)
sed '/www/s/33/000/g' zz_test.txt
操作:{}多个命令组合,用;分开
sed '{1,20p;s/www/s/33/000//g}'
& 取原字符
sed 's/abc/&def' student.txt (把abc换成abcdef)
u 字符串首字母改成大写
sed 's/abc/\u&/' student.txt (把abc改成Abc)
l 字符串首字母改成小写
U 字符串所有字母改成大写
sed 's/abc/\U&/' student.txt (把abc改成ABC)
L 字符串所有字母改成小写
r 将某文件插入到另一文件的指定行中
sed '1r abc.txt' 123.txt (将abc.txt中的内容插入到123.txt文件的第1行)
q 退出sed
sed '/false/q' student.txt (找到一个false就退出sed)
总结
以上所述是小编给大家介绍的Linux文本处理命令“sed”,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
- GoldenGate数据迁移的问题总结(一)(r10笔记第84天)
- Elasticsearch大文件检索性能提升20倍实践(干货)
- Elasticsearch聚合优化 | 聚合速度提升5倍!
- Elasticsearch聚合后分页深入详解
- 可扩展机器学习——线性回归(linear Regression)
- 简单易学的机器学习算法——Label Propagation
- 利用Theano理解深度学习——Convolutional Neural Networks
- 持续精进——我的2017年终总结
- 实战 | Elasticsearch打造知识库检索系统
- Elasticsearch实战 | 必要的时候,还得空间换时间!
- 转--以io.Writer为例看go中的interface{}
- Go支持https协议的简单例子
- Elasticsearch索引增量统计及定时邮件实现
- 机器学习中的特征空间
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- centos7宝塔环境安装VeryNginx waf系统实现高级防火墙功能
- 腾讯云中关于授权子用户QCloudResourceFullAccess权限后使用api接口创建购买cvm没有支付权限的解决办法
- centos7中systemctl系统服务和资源限制故障
- centos7 安装zabbix并监控windows服务器
- 宝塔面板插件-shadowsocks可视化管理
- Android面试知识笔记:那些年面试官常问的知识点...(附详细解析)
- 聊聊dubbo-go的failbackCluster
- Docker环境准备
- js实现HTML页面时钟动态显示
- WordPress标题的分隔符-被转义为–的解决办法
- WordPress网站实现下雪特效,云体验下雪的赶脚
- 小知识:后台执行Oracle创建索引免受会话中断影响
- Android:那些关于Fragment生命周期,你了解多少?
- 前端面试(题三)js
- .NET Core EFCore零基础快速入门简单使用