当前位置: 首页 > article >正文

【Linux】查找文件和查找文件匹配内容

文章目录

  • 一、查找文件
    • 1. find
  • 二、查找文件内容
    • 1. find和-exec grep结合
    • 2. find 和 | xargs grep 结合
    • 3. grep查找


一、查找文件

1. find

举例说明

find /log -type f -name "zone*.access.log"

  • find:这是一个强大的命令行工具,用于在目录中查找文件和目录。
  • /log:指定要查找的目录。
  • -type f:指定查找的对象类型为文件(f 表示文件,d 表示目录)。
  • -name "zone*.access.log":使用通配符*匹配文件名。zone*.access.log 表示文件名以 zone 开头,后面可以跟任意字符,然后是 .access.log

二、查找文件内容

1. find和-exec grep结合

find /log -type f -name "zone*.access.log" -exec grep "查找内容" {} +

  • find /log -type f -name "zone*.access.log":在 /log 目录下查找符合 zone*.access.log 命名模式的文件。
  • -exec ... +:对于每个找到的文件,执行后续的命令。
    • -exec 选项后面紧跟要执行的命令,并且命令以 {} 作为占位符,最后以 +\; 结束。
    • \;+ 的区别:
      • \;:表示对每个文件单独执行 grep 命令。
      • +:表示对所有找到的文件批量执行 grep 命令(在某些情况下可能更高效,但需要 grep 支持批量文件处理)。
  • grep "查找内容" {}:在每个文件中查找包含“查找内容”的行。
  • {}:表示 find 找到的每个文件。
  • +:表示以批量方式执行 grep,提高效率。

2. find 和 | xargs grep 结合

xargs 可以将 find 的输出作为参数传递给 grep

find /log -type f -name "zone*.access.log" | xargs grep "名字"

  • find /log -type f -name "zone*.access.log":在 /log 目录下查找符合 zone*.access.log 命名模式的文件。
  • |:管道符号,将 find 的输出传递给下一个命令。
  • xargs grep "名字"xargs 将从 find 接收到的文件列表传递给 grep,然后 grep 在这些文件中查找包含“名字”的行。

3. grep查找

grep "查找内容" filename


http://www.kler.cn/a/389751.html

相关文章:

  • stringUtils详细解释
  • vue el-date-picker 日期选择器禁用失效问题
  • Python标准库模块的使用:math、datetime
  • 【知识科普】SPA单页应用程序介绍
  • 云原生-docker安装与基础操作
  • 重新认识HTTPS
  • 034集——JIG效果实现(橡皮筋效果)(CAD—C#二次开发入门)
  • 【清华大学对应镜像】QGIS+Conda+jupyter玩转Python GIS
  • VMnet NAT模式配置
  • NFS-Ganesha 核心架构解读
  • PostgreSQL中如果有Left Join的时候索引怎么加
  • 【Linux】网络编程2
  • 架构师备考-概念背诵(系统架构)
  • LeetCode 热题100之 动态规划1
  • 如何在短时间内备考集成项目管理工程师
  • 一文学习Android中的Treeview
  • FreeRTOS 23:事件组EventGroup创建、删除、置位操作
  • 逆向攻防世界CTF系列27-200simple-check-100
  • 【HarmonyNext】显示提示文字的方法
  • 【大数据学习 | HBASE高级】storeFile文件的合并
  • 【智谱开放平台-注册/登录安全分析报告】
  • 数据中心类DataCenter(二)
  • 【Linux 31】网络层协议 - IP
  • 【嵌入式设备】蓝牙鼠标使用教程——遥控器编码值
  • Netty篇(WebSocket)
  • VSCode + linux 远程免密登录