查找文件命令find和文件内容查找命令grep

查找文件命令find和文件内容查找命令grepfind 命令在 Linux 命令中 find 用于在指定目录下查找文件 任何位于参数之前的字符串都将被视为欲查找的目录名 其支持按名称查找 按正则表达式查找 按文件大小查找 按文件权限查找等多种查询方式 如果在使用该命令时 不设置任何参数 则 find 命令将在当前目录下查找子目录与文件 并且将查找到的子目录和文件全部进行显示 语法 find 目标目录 路径 选项 参数常用选项列表和含义 perm 权限数值 查找符合指定的权限数值的文件或目 权限数值 选项

find命令

在 Linux 命令中,find用于在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名,其支持按名称查找、按正则表达式查找、按文件大小查找、按文件权限查找等多种查询方式。如果在使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。

语法:find + 目标目录(路径) + <选项> + 参数

常用选项列表和含义:

# 查找当前目录及其子目录下所有文件和文件夹 find . # 在/testLinux目录下查找以.txt结尾的文件名 find /tmp/cg/testLinux -name "*.txt" # 组合查找文件名以file1开头(与、或、非)file2开头的文件 find . -name "file1*" -a -name "file2*" # 与and find . -name "file1*" -o -name "file2*" # 或or find . -name "file1*" -not -name "file2*" # 非not find . -name "file1*" ! -name "file2*" # 非not # 根据文件类型进行搜索 find . -type f # f为普通文件,d为目录,l为链接 # 基于目录深度进行搜索 find . -maxdepth 2 -type f # 最大深度为2的文件 # 基于文件权限进行搜索 find . -type f -name "*.txt" ! -perm 777 # 权限为777的以.txt结尾的文件 # 借助-exec命令,将当前目录及子目录下所有.txt格式的文件以File:文件名的形式打印出来 find . -type f -name "*.txt" -exec printf "File: %s\n" {} \; # 借助-exec命令,将当前目录及子目录下所有 3 天前的.txt格式的文件复制一份到old目录 find . -type f -mtime +3 -name "*.txt" -exec cp {} old \;

grep命令

命令行下常用于查找过滤文本文件内容的命令。grep 指令用于查找文件中包含指定的范本样式的文本内容,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。

# 语法 grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示行数>][-C<显示行数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

一些常用参数

  • -A<显示行数> 或 –after-context=<显示行数> : 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
  • -B<显示行数> 或 –before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
  • -c 或 –count : 计算符合样式的列数。
  • -C<显示行数> 或 –context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
  • -e<范本样式> 或 –regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
  • -E 或 –extended-regexp : 将样式为延伸的正则表达式来使用。
  • -H 或 –with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。
  • -i 或 –ignore-case : 忽略字符大小写的差别。
  • -L 或 –files-without-match : 列出文件内容不符合指定的样式的文件名称。
  • -n 或 –line-number : 在显示符合样式的那一行之前,标示出该行的行数号。
  • -o 或 –only-matching : 只显示匹配PATTERN 部分。
  • -r 或 –recursive : 此参数的效果和指定”-d recurse”参数相同。
  • -v 或 –invert-match : 显示不包含匹配文本的所有行。
  • -V 或 –version : 显示版本信息。
  • -x –line-regexp : 只显示全列符合的列。
# 当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行 grep test *file # 以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件 grep -r update /etc/acpi # 反向查找,通过"-v"参数可以打印出不符合条件行的内容。查找文件名中包含 test 的文件中不包含test 的行 grep -v test *test* # 查询含有特定文本的文件,并拿到这些文本所在的行 grep -n '2019-10-24 00:01:11' *.log # 查找匹配的总行数 grep -c "被查找的字符串" 文件名 # 从文件内容查找与正则表达式匹配的行 grep –e "正则表达式" 文件名 # 查找时不区分大小写 grep –i "被查找的字符串" 文件名 # 从文件内容查找不匹配指定字符串的行 grep –v "被查找的字符串" 文件名

find与grep结合

# 从根目录开始查找所有扩展名为 .log 的文本文件,并找出包含 "ERROR" 的行 find / -type f -name "*.log" | xargs grep "ERROR" # 从当前目录开始查找所有扩展名为 .in 的文本文件,并找出包含 "thermcontact" 的行 find . -name "*.in" | xargs grep "thermcontact"

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232514.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C++实现matlab中的interp1和interp2插值「建议收藏」

    C++实现matlab中的interp1和interp2插值「建议收藏」头文件interpfun.h#ifndefINTERPFUN_H#defineINTERPFUN_H#include"math.h"#include&lt;stdio.h&gt;#include&lt;string.h&gt; #ifndefSafeDeleteVec#defineSafeDeleteVec(X){if((X))delete(X);(X)=NULL;}#endi…

    2022年5月18日
    153
  • RAC FAILover详解

    RAC FAILover详解Oracle nbsp RAC 同时具备 HA HighAvailiab 和 LB LoadBalance 而其高可用性的基础就是 Failover 故障转移 它指集群中任何一个节点的故障都不会影响用户的使用 连接到故障节点的用户会被自动转移到健康节点 从用户感受而言 是感觉不到这种切换 nbsp Oracle10gRAC 的 Failover 可以分为 3 种 1 Client Sid

    2025年6月16日
    4
  • 软件开发入门自学指南[通俗易懂]

    软件开发入门自学指南[通俗易懂]每天都看到很多对编程感兴趣的人在问是不是可以自学软件开发,或者应该怎么自学编程才能入门。在这篇文章里,我将尝试重现一个初学者在学习计算机编程时可能会碰到的问题,并尽量提供相应的解决思路,希望对初学者有所帮助。如果你在看完这篇文章后还是有些疑惑,欢迎点击这里咨询我。目录编程可以自学吗?学习编程需要什么基础?什么是编程语言?什么是程序?我应该学习哪种编程语言?编程的核心思维是什…

    2022年4月19日
    53
  • 国际企业邮箱优势有哪些?国际邮箱申请方法教学「建议收藏」

    国际企业邮箱优势有哪些?国际邮箱申请方法教学「建议收藏」相信很多小伙伴都用过邮箱,但是大家只会用邮箱收发邮件,处理工作的事务,事实上并不了解邮箱。企业邮箱的优势都有哪些,如何更好地使用邮箱呢?那么下面,小编就以TOM企业邮箱为例,为大家详细讲解邮箱的优势吧!国际企业邮箱优势市场上主流邮箱产品有普通、VIP和企业邮箱三种,针对于国际业务邮件,其中以企业邮箱为首的服务最为全面,其次是VIP邮箱。优势一:海外通道企业邮箱最大优势在于,可以和国外邮箱进行信件往来,原因来自于企业邮箱设有独立的海外通道,将国内和国外的邮箱通道很好的进行连通,有效保障收件收发稳定。

    2025年11月24日
    5
  • 硬件加密芯片介绍 及 加密芯片选择(加密IC) 加密芯片原理

    硬件加密芯片介绍 及 加密芯片选择(加密IC) 加密芯片原理前端时间有研究多款加密芯片,加密算法实现,以及激活成功教程可能,也有一些个人的观点,仅供参考;一,加密芯片的来源及工作流程:市面上的加密芯片,基本都是基于某款单片机,使用I2C或SPI等通讯,使用复杂加密算法加密来实现的,流程大致如下:主控芯片生成随机码–>主控芯片给加密芯片发送明文–>加密芯片通过加密算法对明文进行加密生成密文–>加密芯片返回密文给主控芯片–>主控芯片对密文进行解密生成解密值–>主控芯片对解密值与之前明文进行对比,比较.

    2022年6月25日
    55
  • IntelliJ IDEA 常用设置(配置)吐血整理。首次安装必需「建议收藏」

    idea很强大,但很多设置并不是满足,经常一安装就要捣鼓很久,为此吐血整理初始化设置:切换主题、忽略大小写、自定义注释、自定义代码颜色、滚轮调节字体、鼠标悬停提示、打开当前文件目录、添加双引号

    2022年4月14日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号