Linux sed命令

本文深入解析SED编辑器的特性与应用,介绍其非交互式的编辑方式,如何在shell脚本中进行文本处理,包括增删改查操作。SED编辑器不会破坏原始文件,而是将修改内容输出到屏幕。文章还详细说明了SED的工作过程、常用命令及脚本编写技巧,如地址定位、模式匹配等,帮助读者掌握SED编辑器的高效使用。
摘要由CSDN通过智能技术生成

一、简介

  • 一种新型的,非交互式编辑器(vi编辑器为交互式)
  • 没有破坏性,不会修改文件
  • 默认输出到屏幕
  • sed适合应用到shell脚本程序,处理增删改查

二、工作过程
1.从文件中读入一行数据并把它保存在临时缓冲区中
2.处理临时缓冲区的内容,并将结果发送到显示器上
3.逐行处理文件所有内容直到最后一行
三、命令

sed [选项] '脚本' 文件
-n 安静模式 一般情况文件中所有行被打印到屏幕,加上后只打印被sed处理过的行
-i 进入交互模式 文本会被修改
-e 多重编辑选项
-f 指定一个sed脚本文件到命令行执行
-r sed使用扩展正则表达式
-l 直接修改文档读取的内容,不在屏幕上输出


sed 's/A/you/' file  将文件中A换成you,输出整个文档
sed -n 's/A/you/p' file 只显示被修改过的行
sed -e '1i ZS 90 85 B' -e '/FC/d' file
在第一行前增加一行2S 90 85 B,然后删除包含字符串"FC"的行
sed "na text" file  在第n行后追加text
sed "ni text" file  在第n行前追加text

四、脚本

sed [选项] '脚本' 文件
地址定位:用于确定处理哪些行
单地址:n,指定的行  sed '3s/A/you/' file 第三行A替换成you
地址范围:
n1,n2  n1到n2行的数据处理
n1,+n2 n1后的n2行的数据处理
/pat1/,pat2/ pat1模式开始到模式pat2结束之间的行
sed '/c/,/a/ s/A/you/' file 将/c/和/a/之间的A用you替换
n1,/pat1/ n1开始到模式pat1所在的行结束
/pat/ 模式pat匹配的所有行
~:步进,1~2,从第一行开始每隔两行,即奇数行
sed '1~2 s/A/you/' file 奇数行中A被you替换
2~2,从第二行开始每隔两行,即偶数行
不给地址:即对整个文档处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值