Linux 中awk命令实现将多个连续的字符替换为指定的一个字符

 

001、

复制代码
[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt                ## 测试数据
aa bbbbbb cc bb ww
xx yy           zz dd
jj     kk mm ss
[root@PC1 test]# awk '{sub("b+", "Q"); print $0}' a.txt       ## 将多个连续的b替换为Q
aa Q cc bb ww
xx yy           zz dd
jj     kk mm ss
复制代码

 .

 

002、

复制代码
[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt        ## 测试数据
aa bbbbbb cc bb ww
xx yy           zz dd
jj     kk mm ss
[root@PC1 test]# cat -A a.txt
aa bbbbbb cc bb ww$
xx yy^I^Izz dd$
jj     kk mm ss$
[root@PC1 test]# awk '{sub("[\t ]+", " "); print $0}' a.txt
aa bbbbbb cc bb ww
xx yy           zz dd
jj kk mm ss
[root@PC1 test]# awk '{gsub("[\t ]+", " "); print $0}' a.txt        ## 将多个连续的空格和制表符替换为单个的空格
aa bbbbbb cc bb ww
xx yy zz dd
jj kk mm ss
复制代码

 。

 

posted @   小鲨鱼2018  阅读(72)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2023-07-11 linux 中sed命令删除所有的注释行
2023-07-11 linux shell脚本实现删除连续的空行为一行
2023-07-11 linux 中sed命令的标签和跳转功能
2023-07-11 linux 中ls -F 选项
2023-07-11 TabError: inconsistent use of tabs and spaces in indentation
2022-07-11 plink 软件 输出日志文件中 founders 和 nonfounders指的是什么?
2022-07-11 Warning: 225 het. haploid genotypes present (see test.hh ) 产生原因
点击右上角即可分享
微信分享提示