linux 中grep命令匹配指定长度的字符串
1、
root@PC1:/home/test# ls a.txt root@PC1:/home/test# cat a.txt ## 测试数据 d xaa c xaaa d xaaaa e xaaaaa f xaaaaaa d dff gfgfgf e dfgdg gfdgedr d dfef fcgfg root@PC1:/home/test# grep -E -w "[^[:space:]]{3}" a.txt ## 长度为3 d xaa d dff gfgfgf root@PC1:/home/test# grep -E -w "[^[:space:]]{4}" a.txt ## 长度为4 c xaaa d dfef fcgfg root@PC1:/home/test# grep -E -w "[^[:space:]]{5}" a.txt d xaaaa e dfgdg gfdgedr d dfef fcgfg root@PC1:/home/test# grep -E -w "[^[:space:]]{7}" a.txt ## 长度为7 f xaaaaaa e dfgdg gfdgedr
2、awk实现
root@PC1:/home/test# ls a.txt root@PC1:/home/test# cat a.txt d xaa c xaaa d xaaaa e xaaaaa f xaaaaaa d dff gfgfgf e dfgdg gfdgedr d dfef fcgfg root@PC1:/home/test# awk '{for(i = 1; i <= NF; i++) {if(length($i) == 3) printf("%s\n", $0)}}' a.txt ## 输出长度为3的行 d xaa d dff gfgfgf root@PC1:/home/test# awk '{for(i = 1; i <= NF; i++) {if(length($i) == 4) printf("%s\n", $0)}}' a.txt ## 长度为4 c xaaa d dfef fcgfg root@PC1:/home/test# awk '{for(i = 1; i <= NF; i++) {if(length($i) == 5) printf("%s\n", $0)}}' a.txt ## 长度为5 d xaaaa e dfgdg gfdgedr d dfef fcgfg
分类:
linux shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-05-09 python中global关键字实现在函数内部对全局变量进行修改
2020-05-09 redhat7 配置Yun软件仓库
2020-05-09 《Linux就该这么学》学习笔记 04