【点滴】LINUX之sed命令

sed是一种非交互性文本流编辑器,简要的说就是非交互式上下文(context),它被设计在下列三种情况发挥作用:
①编辑那些对舒适的交互式编辑而言太大的文件;
②由于编辑命令太复杂而难于在交互模式下键入的时候编辑任何大小的文件;
③要在对输入的一趟扫描中有效的进行多个“全局(global)”编辑函数。
相较于交互式编辑器而言,根本性的损失是缺乏相对地址(由于每次操作一行),和缺乏对命令如期运行的立即验证。
1.sed是如何读取数据的
sed从文本的一个问本行或从标准输入的几种格式中读取数据,将之拷贝到一个编辑缓冲区,然后读命令或脚本的第一条命令,并使用这些命令查找模式或定位行号编辑它。
2.使用方式:
①命令行:sed [options] sed命令 输入文本
②脚本方式:sed [options] -f sed脚本文件 输入文本
3.选项
-n     #不打印所有,默认打印所有,只有被sed处理的那行被打印出来
-c     #在使用多个编辑命令时使用,代表-c后面的也是编辑命令
4.function:
p     #打印匹配行
=     #显示文件行号
a\     #在定位行后附加新文本信息
i\     #在定位行后插入新文本文件
d     #删除定位行
c\     #用新文本替换定位文本
s     #使用替换模式替换相应模式
r     #从另一个文件中读文本
w     #写文本到另一个文件
q     #第一个模式匹配后退出或立即退出
{}     #定位行执行命令组
g     #将模式2粘贴到/pattern n/
5.实例
#打印1到3行
sed -n '1,3p' passwd
#打印3到尾行
sed -n '3,$p' passwd
#只打印包含user的行
> sed -n '/user/p' passwd
#打印包含user的行号
> sed -n '/user/=' passwd
#打印行号和行
> sed -n -e '/user/=' -e '/user/p' passwd
#删除首行和尾行
> sed -e '1d' -e '$d' passwd
#替换abc为def
>  sed "s/abc/def/" $sql_script > $sql_temp




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值