linux中sed命令删除首次匹配字符及其之前的内容或者指定匹配字符及其之前的内容

 

001、删除首次匹配字符及其之前的内容

复制代码
root@DESKTOP-IDT9S0E:/home/test/test/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test/test/test# cat a.txt     ## 测试数据
awQQrQQ24QQ34QQr5
sfewQQ3dsQQkkQQ
saeQQ88QQjjQQdsf
root@DESKTOP-IDT9S0E:/home/test/test/test# sed 's/QQ/tag/' a.txt | sed 's/.*tag//'
rQQ24QQ34QQr5
3dsQQkkQQ
88QQjjQQdsf
## 首先是将一个匹配的字符转换为tag,这个tag应当是唯一的,然后将tag及其之前的内容全部删除即可。
复制代码

 

 

002、 删除指定匹配次数字符及其之前的字符

复制代码
root@DESKTOP-IDT9S0E:/home/test/test/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test/test/test# cat a.txt       ## 测试数据 
awQQrQQ24QQ34QQr5
sfewQQ3dsQQkkQQ
saeQQ88QQjjQQdsf
root@DESKTOP-IDT9S0E:/home/test/test/test# sed 's/QQ/tag/2' a.txt | sed 's/.*tag//'
24QQ34QQr5
kkQQ
jjQQdsf
## 同理将第一个sed将第二次匹配的字符转换为tag,然后删除tag及其之前的内容
复制代码

 

003、删除最后匹配字符及其之前的内容

复制代码
root@DESKTOP-IDT9S0E:/home/test3# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test3# cat a.txt          ## 测试数据
awQQrQQ24QQ34QQr5
sfewQQ3dsQQkkQQu65
saeQQ88QQjjQQdsf
iereeterre32435
root@DESKTOP-IDT9S0E:/home/test3# sed 's/\(.*QQ\)\(.*\)/\2/' a.txt  ## 利用sed预存储实现
r5
u65
dsf
iereeterre32435
复制代码

 

 

 

 

004、删除首次匹配字符(二次匹配字符)及其后的内容

复制代码
root@DESKTOP-IDT9S0E:/home/test/test/test# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test/test/test# cat a.txt        ## 测试数据
awQQrQQ24QQ34QQr5
sfewQQ3dsQQkkQQ
saeQQ88QQjjQQdsf
root@DESKTOP-IDT9S0E:/home/test/test/test# sed 's/QQ/tag/' a.txt | sed 's/tag.*//'
aw
sfew
sae
## 删除第一个匹配字符及其后的内容 root@DESKTOP
-IDT9S0E:/home/test/test/test# sed 's/QQ/tag/2' a.txt | sed 's/tag.*//' awQQr sfewQQ3ds saeQQ88
## 删除第二个匹配字符及其后的内容
复制代码

 

005、删除最后匹配字符及其后的内容

复制代码
root@DESKTOP-IDT9S0E:/home/test3# ls
a.txt
root@DESKTOP-IDT9S0E:/home/test3# cat a.txt                          ## 测试数据
awQQrQQ24QQ34QQr5
sfewQQ3dsQQkkQQu65
saeQQ88QQjjQQdsf
iereeterre32435
root@DESKTOP-IDT9S0E:/home/test3# sed 's/\(.*QQ\)\(.*\)/\1/' a.txt
awQQrQQ24QQ34QQ
sfewQQ3dsQQkkQQ
saeQQ88QQjjQQ
iereeterre32435
root@DESKTOP-IDT9S0E:/home/test3# sed 's/\(.*QQ\)\(.*\)/\1/' a.txt | sed 's/QQ$//'
awQQrQQ24QQ34
sfewQQ3dsQQkk
saeQQ88QQjj
iereeterre32435
## 删除最后匹配字符及其后的内容
复制代码

 

posted @   小鲨鱼2018  阅读(2826)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-04-15 linux中awk命令中的next的用法
2022-04-15 linux中awk命令实现一列数据按照标题折叠及展开
2022-04-15 linux 中shell统计fasta文件中每条染色体中的碱基数目
2022-04-15 linux中如何统计文本字符的总个数
2021-04-15 R语言中sample函数
2021-04-15 linux系统awk命令求一行值的和、平均值、最大值和最小值
2021-04-15 linux系统中awk命令求一列值的最大值、最小值、和及平均值
点击右上角即可分享
微信分享提示