首页 > 系统相关 >Linux查找文件内容

Linux查找文件内容

时间:2024-05-29 20:58:08浏览次数:27  
标签:xargs grep name 查找文件 查找 内容 Linux java find

从文件内容查找匹配指定字符串的行:

$ grep "被查找的字符串" 文件名

例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件

$ grep "thermcontact" */*.in

从文件内容查找与正则表达式匹配的行:

$ grep –e “正则表达式” 文件名

查找时不区分大小写:

$ grep –i "被查找的字符串" 文件名

查找匹配的行数:

$ grep -c "被查找的字符串" 文件名

从文件内容查找不匹配指定字符串的行:

$ grep –v "被查找的字符串" 文件名

从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行

find / -type f -name "*.log" | xargs grep "ERROR"

例子:从当前目录开始查找所有扩展名为.in的文本文件,并找出包含”thermcontact”的行

find . -name "*.in" | xargs grep "thermcontact"

http://blog.chinaunix.net/uid-25266990-id-199887.html

shell命令搞定某个文件夹下java代码行数的统计

find . -name "*.java"|xargs wc -l|grep "total"|awk '{print $1}'  
find . -name "*.java"|xargs cat|wc -l    #Output:37634  

上面的两句效果一样,只不过第二种是先利用cat将多个java文件的内容合并输出了。然后再统计。

不过两个都有共同的毛病——连文件里面的空行都给统计进去算作一行了。

去除空行版:

find . -name "*.java"|xargs cat|grep -v ^$|wc -l

去除注释版:

# exclude the lines begin with //  
find . -name "*.java"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l

参考链接:https://blog.csdn.net/yhhwatl/article/details/52623879

标签:xargs,grep,name,查找文件,查找,内容,Linux,java,find
From: https://blog.csdn.net/Orzak/article/details/139268061

相关文章

  • 【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(一)
    文章目录......
  • Linux需要修改时区(目前只写了 上海、越南、印度、日本、韩国、UTC0六个时区,可根据自己
    #!/bin/sh#时区列表timezones=("Asia/Shanghai""Asia/Ho_Chi_Minh""Asia/Calcutta""Asia/Tokyo""Asia/Seoul""UTC")echo"上海时区"echo"越南时区"echo"印度时区"e......
  • Linux 无法访问另一台机器上的服务,重启后可以访问,一段时间后又无法访问
    一台Linux主机A无法访问另一台Linux主机B上的服务,我在自己的电脑(windows)上是可以访问的,重启B后可以访问,但是十几个小时之后又无法访问,再次重启后又可以访问。#无法访问的原因是本机的静态ip设置有问题#系统是Debian12source/etc/network/interfaces.d/*#Theloopback......
  • 如何实现知识内容变现,打造品牌形象
       一、简单快捷的知识付费系统   在信息更新迭代迅速和及人们对高质量信息的需求下,并随着互联网技术的快速发展,人们获取信息的方式发生了巨大变化。以往,人们主要通过图书馆、书店、媒体等渠道获取知识,但这些方式往往受到时间、地点和成本的限制。而现在,互联网为知......
  • linux-c-log-rotation-scheme
    linux-c-log-rotation-scheme#include<sys/types.h>#include<sys/stat.h>#include<unistd.h>voidlogworker(){ino_tinode=0;FILE*logfile;logfile=fopen(logfilename,"a+");while(running){......
  • Linux块设备驱动
    1块设备驱动简介块设备是针对存储设备的,比如SD卡、EMMC、NANDFlash、NorFlash、SPIFlash、机械硬盘、固态硬盘等。因此块设备驱动其实就是这些存储设备驱动。块设备驱动比字符设备复杂,不同类型的存储设备又对应不同的驱动子系统,如MTD(memorytechnologydevice内存技术设备......
  • linux环境开发过程中遇到的问题以及解决办法 how to
    1.装好开发机后上网检查网口是否开通,网线是否正常一般桌面上多个网口可能只开通一个,需要联系IT联系之前可以先找一个正常的网线连到PC看看是否能够提供网络一般从公司内网连接外网需要连接代理检查proxy的可访问性curl-x<proxy_address>:<proxy_port>http://www.example......
  • Linux常用指令
    1.tmux常用指令tmux是一个terminalmultiplexer(终端复用器),它可以启动一系列终端会话。我们使用命令行时,打开一个终端窗口,,会话开始,执行某些命令如npmrundev,关闭此终端窗口,会话结束,npmrundev服务会话随之被关闭。有时我们希望我们运行的服务如npmrundev或者一些cd命令等......
  • linux环境开发过程中遇到的问题 what
    1.file指令输出结果中,二进制文件的stripped是什么意思ChatGPT通常指的是可执行二进制文件是否被剥离(stripped)。剥离是指从可执行文件中删除了符号信息、调试信息和其他不必要的元数据,以减小文件的大小。当一个二进制文件被剥离后,它通常不再包含用于调试和符号分析的信息,因此在......
  • linux安装nvm
    下载nvm包wgethttps://github.com/nvm-sh/nvm/archive/refs/tags/v0.38.0.tar.gz配置环境变量vim~/.bashrc添加以下内容:exportNVM_DIR="$HOME/.nvm/nvm-0.38.0"[-s"$NVM_DIR/nvm.sh"]&&\."$NVM_DIR/nvm.sh"#Thisloadsnvm[-s......