sed文本处理

在这里插入图片描述

为什么要用sed?
sed在写脚本的是有分析
awk
当我们考虑数据量过大的时候我们vi编辑数据就会大大增加效率问题
所以我们可以使用sed来提升效率
sed本身也是一种管道命令,也可以将数据增删改查;
awk是一个文本处理分析工具,比较强大;

-n 安静模式;只显示对数据操作的数据;
-e 直接在命令行模式进行sed的动作编辑;
-f 直接将sed动作写在一个文件内;
-i 直接修改读取文件的内容,而不是由屏幕输出;

添加数据2a或者2i 可以灵活多用;
sed '2a0000' 1.txt 

a表示每一行都加上数据
sed 'a0000' 1.txt  

在文本里第二行插入数据;
sed -i '2i0000' 1.txt 

显示第一行的命令 加上-n就是第实数据,不加-n会出现所有数据和想要的数据;
sed -n '1p' 1.txt 

只想要第几行到第几行的数据
sed -n '2,10p' 1.txt      或者    cat /etc/hosts | sed -n '3,5p'

从第N行开始到结束$代表结束
cat /etc/hosts | sed -n '2,$p'

只需要文件中某某的数据'/master/p'
sed -n '/master/p' /etc/hosts  或者 cat /etc/hosts | sed -n '/master/p'

删除一行数据 加-i是删除文本中的数据
sed '2d' 1.txt 
sed '3,5d' 1.txt 

修改数据
sed '2c0000' 1.txt 


nl 显示文本行号(可以代替cat使用)
nl /root/file/1.txt | sed '1,$p' 

过滤,截断输出
cat /etc/hosts | grep '192' | sed 's/^\.*192//g'

将开头是#行删掉,然后空行替代
cat /etc/man.config | grep 'man' | sed 's/#.*$//g' 

将开头是#行删掉,然后空行替代,d删掉(删除、替换都支持正则表达式)
cat /etc/man.config | grep 'man' | sed 's/#.*$//g' | sed '/^$/d'

输出第五行 打印第一个字段和第三个字段
last -n 5 | awk '{printf $1 "\t" $3 "\n"}'


last不支持管道。 xargs可以使last进行管道输出

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值