Linux 中 grep命令仅仅输出匹配的字符串
001、
[root@PC1 test]# ls a.txt [root@PC1 test]# cat a.txt ## 测试数据 aa 33 aa 77 bb aa aa 22 aa kk cc bb dd aa uu 88 33 88 rr qq [root@PC1 test]# grep -oP "aa" a.txt ## 输出仅仅匹配的内容,但是换行了 aa aa aa aa aa aa [root@PC1 test]# grep -noP "aa" a.txt ## 同时输出匹配的行号 1:aa 1:aa 2:aa 2:aa 2:aa 3:aa [root@PC1 test]# grep -noP "aa" a.txt | sed 's/:/\t/' | awk '{if(NR == 1) {printf("%s\t", $2); tmp = $1} else {if($1 == tmp){printf("%s\t", $2)} else {printf("\n%s\t", $2);}}; tmp = $1}' | sed '$ s/\t$/\n/' ## 每一行匹配到的内容在原始行中输出 aa aa aa aa aa aa
。
002、输出对应的行号
[root@PC1 test]# grep -nP "aa" a.txt | cut -d ":" -f 1 | paste - <(grep -noP "aa" a.txt | sed 's/:/\t/' | awk '{if(NR == 1) {printf("%s\t", $2); tmp = $1} else {if($1 == tmp){printf("%s\t", $2)} else {printf("\n%s\t", $2);}}; tmp = $1}' | sed '$ s/\t$/\n/') ## 输出对应的行号 1 aa aa 2 aa aa aa 3 aa
。
分类:
linux shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
2023-07-13 linux 中awk命令的几个常用算数函数
2023-07-13 linux 中实现对awk数组的排序
2023-07-13 linux 中 M-cM-^@M-^@M-cM-^@M-^@特殊字符的处理
2023-07-13 linux 中awk命令输出指定字段分隔符分割的长度
2023-07-13 linux 中 awk命令中的substr选项
2022-07-13 linux 中实现数据的每一列都对齐
2022-07-13 plink 软件 --hardy参数计算哈代温伯格平衡中 p值的来源