首页 > 系统相关 >Linux 中 grep命令仅仅输出匹配的字符串

Linux 中 grep命令仅仅输出匹配的字符串

时间:2024-07-13 13:11:27浏览次数:9  
标签:aa grep PC1 test Linux 字符串 txt root

 

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

 。

 

标签:aa,grep,PC1,test,Linux,字符串,txt,root
From: https://www.cnblogs.com/liujiaxin2018/p/18299964

相关文章

  • C++数组 字符串
    是什么:相同类型元素的集合写法:intexample[3]//数组在声明大小时必须为常数数组名example是个指针类型如int*ptr=example;数组索引的工作原理:example[3]//从首地址位置偏移数组类型大小(int是4字节)乘索引值(4*3)个字节//从当前字节位置往后读四个字节;可能出现的错误:ex......
  • Burp Suite Professional 2024.6 (macOS, Linux, Windows) - Web 应用安全、测试和扫
    BurpSuiteProfessional2024.6(macOS,Linux,Windows)-Web应用安全、测试和扫描BurpSuiteProfessional,Test,find,andexploitvulnerabilities.请访问原文链接:https://sysin.org/blog/burp-suite-pro/,查看最新版。原创作品,转载请保留出处。BurpSuiteProfession......
  • Linux系统下如何查看硬盘剩余使用寿命?
    1、使用smartclt命令查看硬盘的smart信息,如以下范例:smartctl-a/dev/sdbsmartctl6.52016-05-07r4318[x86_64-linux-4.14.0-49.15.x86_64](localbuild)Copyright(C)2002-16,BruceAllen,ChristianFranke,www.smartmontools.org===STARTOFINFORMATIONSECT......
  • Linux系统下Emulex FC HBA驱动安装及固件升级
    一、下载FCHBA卡驱动下载地址:https://www.broadcom.cn/support/download-search?pg=Legacy+Products&pf=Legacy+FC+Host+Bus+Adapters&pn=LPe16002B+FC+Host+Bus+Adapter&pa=Driver&po=&dk=&pl=&l=false二、下载FCHBA卡固件下载地址:https://www.broadcom.cn......
  • Linux 中 WIFI 和热点的使用
    之前一直在ubuntu的图形界面中使用,突然需要在ARM板上打开热点,一时给弄蒙了,在此记录一下一、网卡命令显示所有网络信息sudoiplinkshow关闭或打开网络sudoiplinksetwlan0downsudoiplinksetwlan0up激活或启动网络sudoifconfigwlan0up设置i......
  • 如何对Linux系统进行基准测试5工具UnixBench
    UnixBenchUnixBench是一款跨平台基准测试工具,用于评估各种类Unix系统(包括Linux、BSD和macOS)的系统性能。它提供了一套全面的测试套件,可评估系统性能的不同方面,包括:系统调用:此测试衡量进行系统调用的开销,系统调用是应用程序与操作系统内核交互的主要方式。文件系统:此测试评......
  • Linux fileformat error: bad interpreter: No such file or directory
    背景在windows下新建的sh文件,copy到linux下有的会报错,一般是格式问题默认情况下windows格式会在段落末尾有CR、LF,但是Unix格式只有LF示例执行sh脚本文件./file.sh-bash:./file.sh:/bin/sh^M:坏的解释器:没有那个文件或目录或者报badinterpreter:Nosuchfileordire......
  • 【C语言】字符串与相关操作函数
    字符串思路分析在注释文章目录字符串一、字符串的定义1.使用sizeof()计算他们的长度二、sizeof和strlen的区别1.sizeof操作符2.strlen函数三、动态开辟字符串1.malloc函数2.realloc函数3.free函数4.memset函数四、几种字符串常用的API1.strncpy函数2.asse......
  • 【Linux】构建项目
    cmake--build<dir>[<options>][--<build-tool-options>]cmake--build--preset<preset>[<options>][--<build-tool-options>]命令选项1、--build<dir>构建项目,这个选项是必须的(除非指定preset)而且必须是第一个。2、--preset<p......
  • Linux权限理解
    Linux用户的概念Linux下有两种用户:超级用户(root)、普通用户。超级用户:可以再linux系统下做任何事情,不受限制普通用户:在linux下做有限的事情。超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。角色切换普通用户切换到超级用户[yuan@VM_0_12_centos......