您的位置:首页 > 游戏 > 游戏 > 高清的建设工程人员查询_带着购物系统回到80年代_如何引流推广产品_谷歌ads

高清的建设工程人员查询_带着购物系统回到80年代_如何引流推广产品_谷歌ads

2025/2/26 4:41:14 来源:https://blog.csdn.net/qq_57446171/article/details/145035551  浏览:    关键词:高清的建设工程人员查询_带着购物系统回到80年代_如何引流推广产品_谷歌ads
高清的建设工程人员查询_带着购物系统回到80年代_如何引流推广产品_谷歌ads

grep 命令

  • 功能grep 是一个文本搜索工具,用于在文件或输入流中搜索匹配特定模式的文本行.
  • 使用场景
    • 文本内容搜索:在文件中查找包含特定字符串或正则表达式的行,常用于日志文件分析、代码查找等场景.
    • 过滤输出:从命令的输出中过滤出包含特定内容的行,例如,将 ls 命令的输出通过 grep 过滤出包含特定文件名的行.
  • 特点
    • 模式匹配:支持正则表达式,可以进行复杂的文本匹配和搜索.
    • 文件操作:可以直接在文件中进行搜索,也可以从标准输入中读取数据进行搜索.
    • 输出结果:输出匹配到的文本行,可以指定输出行号、高亮显示匹配内容等.
    • 常用选项

    • -i:忽略大小写,进行不区分大小写的搜索.
    • -v:反向搜索,显示不匹配的行.
    • -c:统计匹配行的数量,而不是显示匹配的行.
    • -n:显示匹配行的行号.
    • -l:只列出包含匹配行的文件名,而不是显示匹配的行.
    • -r 或 -R:递归搜索,搜索指定目录下的所有文件.
    • -w:仅匹配整个单词,而不是部分单词.
    • -E:使用扩展的正则表达式(ERE),允许使用更多的正则表达式元字符.
    • -o:仅显示匹配的部分字符串,而不是整行.
    • 基本用法

    • 搜索文件中的文本
      grep "pattern" filename
      例如,搜索文件 example.txt 中包含 "hello" 的行:
      grep "hello" example.txt
    • 忽略大小写搜索
      grep -i "pattern" filename
      例如,不区分大小写地搜索 "Hello":
      grep -i "Hello" example.txt
    • 反向搜索
      grep -v "pattern" filename
      例如,显示不包含 "error" 的行:
      grep -v "error" log.txt
    • 统计匹配行数
      grep -c "pattern" filename
      例如,统计文件中包含 "success" 的行数:
      grep -c "success" log.txt
    • 显示行号
      grep -n "pattern" filename
      例如,显示包含 "warning" 的行及其行号:
      grep -n "warning" log.txt
    • 递归搜索目录
      grep -r "pattern" directory
      例如,递归搜索当前目录下所有文件中包含 "todo" 的行:
      grep -r "todo" .
    • 高级用法

    • 使用正则表达式
      grep "pattern.*pattern" filename
      例如,搜索包含 "start" 和 "end" 且中间有任意字符的行:
      grep "start.*end" example.txt
    • 组合多个选项
      grep -iEn "pattern" filename
      例如,不区分大小写地搜索 "Error",显示行号,并使用扩展正则表达式:
      grep -iEn "Error" log.txt
    • 管道使用
      command | grep "pattern"
      例如,将 ls 命令的输出通过 grep 过滤出包含 "txt" 的文件:
      ls | grep "txt"

find 命令

  • 功能find 是一个文件查找工具,用于在文件系统中查找符合特定条件的文件.
  • 使用场景
    • 文件定位:在目录树中查找具有特定名称、类型、大小、修改时间等属性的文件,常用于文件管理和维护.
    • 批量操作:结合其他命令对查找到的文件进行批量操作,如复制、移动、删除等.
  • 特点
    • 条件组合:支持多种查找条件的组合使用,如文件名、文件类型、文件大小、修改时间等.
    • 目录遍历:可以递归地遍历目录树,查找所有符合条件的文件.
    • 执行动作:可以对查找到的文件执行指定的动作,如使用 -exec 选项执行其他命令.
    • 常用选项和表达式

    • -name:按文件名查找,支持使用通配符(如 *?)进行匹配.
    • -type:按文件类型查找,常见的文件类型有:
      • f:普通文件
      • d:目录
      • l:符号链接
      • c:字符设备文件
      • b:块设备文件
    • -size:按文件大小查找,支持使用单位(如 +10M 表示大于 10MB,-10M 表示小于 10MB).
    • -mtime:按文件内容最后修改时间查找,支持使用天数(如 -mtime +7 表示超过 7 天未修改的文件).
    • -atime:按文件最后访问时间查找.
    • -ctime:按文件状态最后改变时间查找.
    • -user:按文件所有者查找.
    • -group:按文件所属组查找.
    • -perm:按文件权限查找.
    • -exec:对查找到的文件执行指定的命令,命令后面需要跟一个 \; 表示命令结束.
    • -print:默认动作,显示查找到的文件路径.
    • -delete:删除查找到的文件(谨慎使用).
    • 基本用法

    • 按文件名查找
      find <目录> -name <文件名模式>
      例如,在当前目录及其子目录中查找所有扩展名为 .txt 的文件:
      find . -name "*.txt"
    • 按文件类型查找
      find <目录> -type <文件类型>
      例如,查找当前目录及其子目录中的所有目录:
      find . -type d
    • 按文件大小查找
      find <目录> -size <大小>
      例如,查找当前目录及其子目录中大于 10MB 的文件:
      find . -size +10M
    • 按修改时间查找
      find <目录> -mtime <天数>
      例如,查找当前目录及其子目录中最近 7 天内修改过的文件:
      find . -mtime -7
    • 组合条件查找
      find <目录> -name <文件名模式> -type <文件类型> -size <大小>
      例如,查找当前目录及其子目录中扩展名为 .log 的普通文件,且文件大小大于 5MB:
      find . -name "*.log" -type f -size +5M
    • 高级用法

    • 执行命令
      find <目录> -name <文件名模式> -exec <命令> {} \;
      例如,查找当前目录及其子目录中所有扩展名为 .py 的文件,并使用 nano 编辑器打开它们:
      find . -name "*.py" -exec nano {} \;
    • 删除文件
      find <目录> -name <文件名模式> -delete
      例如,删除当前目录及其子目录中所有扩展名为 .tmp 的文件
      find . -name "*.tmp" -delete
    • 限制搜索深度
      find <目录> -maxdepth <深度> -name <文件名模式>
      例如,仅在当前目录中查找扩展名为 .sh 的文件,不递归到子目录:
      find . -maxdepth 1 -name "*.sh"

区别总结

  • 搜索对象
    • grep:搜索文本内容,关注的是文件中的文本行是否匹配特定模式.
    • find:搜索文件对象,关注的是文件本身是否符合特定的属性条件.
  • 应用场景
    • grep:适用于文本内容的搜索和过滤,如查找日志文件中的错误信息、代码文件中的函数定义等.
    • find:适用于文件的定位和管理,如查找特定类型的文件、查找最近修改过的文件、批量删除临时文件等.
  • 输出结果
    • grep:输出匹配到的文本行,通常用于查看文本内容.
    • find:输出符合条件的文件路径,通常用于对文件进行进一步的操作.

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com