Linux 中awk语句匹配首个数字与匹配首个连续的数字的区别
001、
[root@localhost test]# cat b.txt ## 测试数据 0001 20081223efs333kjfdj EREADFASDLKJCV 0002 20081208djfks2288daa JDKFJALSDJFsddf 0003 20081208efskjfdj EREADFASDLKJCV 0004 20081211djfksdaa1234 JDKFJALSDJFsddf [root@localhost test]# awk '{sub("[0-9]", "", $2); print $0}' b.txt ## 匹配首个数字 0001 0081223efs333kjfdj EREADFASDLKJCV 0002 0081208djfks2288daa JDKFJALSDJFsddf 0003 0081208efskjfdj EREADFASDLKJCV 0004 0081211djfksdaa1234 JDKFJALSDJFsddf [root@localhost test]# awk '{sub("[0-9]+", "", $2); print $0}' b.txt ## 匹配首个连续的数字 0001 efs333kjfdj EREADFASDLKJCV 0002 djfks2288daa JDKFJALSDJFsddf 0003 efskjfdj EREADFASDLKJCV 0004 djfksdaa1234 JDKFJALSDJFsddf
。
002、
[root@localhost test]# cat b.txt ## 测试数据 0001 20081223efs333kjfdj EREADFASDLKJCV 0002 20081208djfks2288daa JDKFJALSDJFsddf 0003 20081208efskjfdj EREADFASDLKJCV 0004 20081211djfksdaa1234 JDKFJALSDJFsddf [root@localhost test]# awk '{sub(/[0-9]/, "", $2); print $0}' b.txt ## 第二行匹配数个数字 0001 0081223efs333kjfdj EREADFASDLKJCV 0002 0081208djfks2288daa JDKFJALSDJFsddf 0003 0081208efskjfdj EREADFASDLKJCV 0004 0081211djfksdaa1234 JDKFJALSDJFsddf [root@localhost test]# awk '{sub(/[0-9]+/, "", $2); print $0}' b.txt ## 匹配第二行首个连续的数字 0001 efs333kjfdj EREADFASDLKJCV 0002 djfks2288daa JDKFJALSDJFsddf 0003 efskjfdj EREADFASDLKJCV 0004 djfksdaa1234 JDKFJALSDJFsddf
。
分类:
linux shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2023-10-26 第一个c++程序
2022-10-26 linux 中如何删除特定字符之间的数据
2022-10-26 linux 中 如何统计某一目录下一类文件总的大小
2021-10-26 R语言中管道运算符 %>%
2020-10-26 linux系统中独立冗余磁盘阵列RAID