首页 > 系统相关 >Linux 搜索所有文件内容截取所需记录

Linux 搜索所有文件内容截取所需记录

时间:2023-01-10 12:07:38浏览次数:35  
标签:grep name spring 截取 搜索 Linux jsp message find


由于一些需求需要,遍历某目录先所有文件,找出某行的关键信息。


如:搜索所有 jsp 文件的内容,找出"spring:message"所在行,并取引号内的字符串。

(如下图,取粉色框中的字符串)

Linux 搜索所有文件内容截取所需记录_sed

Linux 搜索所有文件内容截取所需记录_sed_02


第一步,遍历文件:

find -name "*.jsp"

Linux 搜索所有文件内容截取所需记录_sed_03



第二步输出所有文件内容,太多了!所以直接过滤关键字行。

find -name "*.jsp" -print -exec cat {} \; | grep "spring:message"

Linux 搜索所有文件内容截取所需记录_字符串_04



第三步,把每行前面的空字符去掉

find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed -e 's/^[ \t]*//'
find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed 's/[[:space:]]//g'

Linux 搜索所有文件内容截取所需记录_字符串_05



第四步,按双引号分割行,取第二列(比较有规律!)

find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed 's/[[:space:]]//g' | cut -d"\"" -f2

Linux 搜索所有文件内容截取所需记录_spring_06



第五步排除有某些字符的行(如排除右大括号的行)

find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed 's/[[:space:]]//g' | cut -d"\"" -f2 | grep -v "}"


第六步,排序并去重复行

find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed 's/[[:space:]]//g' | cut -d"\"" -f2 | grep -v "}" | sort -u

Linux 搜索所有文件内容截取所需记录_spring_07



完成!


另:搜索某目录下所有文件内容,找出关键字所在的行,同时输出所在文件及行内容

grep "spring:message" ./*

Linux 搜索所有文件内容截取所需记录_字符串_08





标签:grep,name,spring,截取,搜索,Linux,jsp,message,find
From: https://blog.51cto.com/hzc2012/6000158

相关文章

  • windows无法连接VMware虚拟机的linux
    遇到的问题:今天使用xshell连接虚拟机,无法连接。解决过程:1.测试ping,linux虚拟机能ping通windows主机,可是windows主机ping不通linux虚拟机。2.查看vm虚拟机的子网地址,如图,点......
  • Linux常用命令大全
    系统信息arch显示机器的处理器架构uname-m显示机器的处理器架构uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DMI)hdparm-i/de......
  • linux 命令使用6--free(内存)
    一:free命令 free命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存  二:free命令显示的各项参数 第一行Mem部分:total物理内存的......
  • MfgTool 烧写 Linux 系统(imx6ull)【转】
    转自:https://www.cnblogs.com/dhtblog/p/14505677.html仅供参考学习使用一、烧写原理1、开发板连接电脑以后双击“mfgtool2-yocto-mx-evk-emmc.vbs”,打开下载对话框......
  • Linux 用户管理
    增加用户在增加用户时,linux下的默认权限是不同用户目录是可以读取但是不可写,为了保证不同用户的隐私,我们需要修改为不同用户之间的目录不可访问,则只需修改如下文件/etc/add......
  • Linux
    Linux基础第一篇:linux相关知识简介、虚拟化软件vmware、远程链接工具xshell:......
  • Linux 一 vmware软件安装配置与xshell安装配置
    目录Linux一vmware软件安装配置与xshell安装配置计算机的种类服务器品牌服务器内部组成服务器磁盘阵列linux发展史虚拟化技术vmware软件版本问题vmware下载安装激活方法......
  • Linux shell及vim配置
    一些Linux基本的诊断命令whoami查看当前用户名,相当于id-un(u:user;n:name)whichwhich检查命令是否安装及执行路径manman查看命令手册 一些Linux基本......
  • Educational Codeforces Round 114 D(搜索剪枝)
    D.TheStrongestBuild题目大意:给定n个位置,每个位置有c\({_i}\)个可选能力值(能力值升序给出即a\({_1}\)<a\({_2}\)<a\({_3}\)<...<a\({_{ci}}\)),你可以在每个......
  • 力扣102 二叉树的层序遍历(广度优先搜索)
    题目:给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。示例:输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]思......