Linux文本处理三剑客之sed

sed擅长取行和替换;grep擅长查找功能;awk擅长取列。

使用sed处理文档

1.命令格式

sed [选项] 'command' 输入文本

2.sed定位
first~setp:first起始行,step步长
$:最后一行
/正则表达式/:匹配正则表达式的行
addr1,addr2;指定地址
addr1,+N;从此行往下的N行,共N+1行

3.sed常用选项
-n:使用静默模式,使用-n后被sed处理的才显示
-e:多重编辑,命令顺序会影响结果
-i:直接修改文件内容,不在屏幕上显示
-r;使用扩展正则
=:打印匹配行的行号


4.sed功能
a\:在当前行后添加一行或多行
c\:用此符号后新文本替换当前行中的文本
i\:在当前行之前插入文本
d:删除行
l:列出非打印字符
p:打印行
n:读入下一输入行,并从下一条命令开始对其处理
q:结束或退出sed
r:从文件中读取输入行
!:对所选行以外的所有行应用命令
s:用一个字符串替换另一个
g:在行内进行全局替换
w:将行写入文件
y:将字符转换为另一种字符


5.实例操作
首先编写一个文件,名为sed.txt.

[root@controller ~]# cat sed.txt 
java            beijing         tom         13      22.1*
javascript      tianjing        Alex        22      9.7*
python          shijiazhuang    tom         18      5.0*
linux           beijing         Alice       9       11.2*
linuxshell      tianjing        lucy        5       22.0*
unix            shanghai        lucy        17      18.7
network         nanjing         zhangsan    32      7.9
pythondjango    taiyuan         wangqian    24      5.3
shell           xian            role        7       7.7

(1)打印包含python的内容
在这里插入图片描述

(2)打印删除第三行到最后一行后剩余的内容
在这里插入图片描述
3)将文档中所有beijing替换为baoding
在这里插入图片描述
4)打印java和unix之间的所有行在这里插入图片描述
5)打印第4行到最后一行在这里插入图片描述
6)在newwork后面插入一行分隔符“----------”在这里插入图片描述
7)将第2-4行小写字a转换成大写字符A
在这里插入图片描述
8)将第1行到底5行每行结尾增加一个*号,并将结果保存到文本文件
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值