Linux 三剑客之grep

目录

Linux 三剑客之grep与find命令的搭配使用:

三剑客之grep:

正则表达式

Linux  三剑客之grep

搭配命令-find 格式:find [搜索范围] [参数]

参数:

-name: 依据文件名查找文件

-iname:依据文件名查找文件(忽略大小写)

-size:依据文件大小查找文件(与size搭配使用符号:+表示大于,-表示小于,无符号表示等于)

-mtime:依据修改时间查找文件

-atime:依据访问时间查找文件

-ctime:依据属性修改时间查找文件

-user:依据文件所有者查找文件

-group:依据文件所属组查找文件

-exec:将find处理的结果传递给其他命令继续处理。

代码示例:

dd if=/dev/zero of=100.txt bs=10M count=10

dd:生成文件

if:从哪里读取

of:写入到哪个文件

bs:每次写入多少内容

count:写入多少次

案例1:在/etc目录下查找名为hosts的文件

[root@localhost ~]# find /etc/ -name 'hosts'/etc/hosts

案例2:在/etc目录下查找名称包含hosts的文件

[root@localhost ~]# find /etc/ -name '*hosts*'

案例3:将/etc目录下的所有普通文件打包压缩到/tmp目录

[root@localhost /tmp]# tar -czPf /tmp/etcv2.tar.gz `find /etc/ -type f | xargs`

知识补充:“:表示先执行命令,然后将结果传递给其他命令处理

三剑客之grep:

格式:grep [参数] [匹配规则] [操作对象]

参数:

参数字符 功能描述

-n过滤文本时,显示匹配行的行号-c只显示匹配成功的行数-o只显示匹配成功的内容-v反向过滤(类似-o的取反操作)-q静默输出(不显示,通过echo $?查看结果真假)-i忽略大小写-l匹配成功后,显示文件名-R/-r递归匹配-E使用扩展正则表达式,相当于egrep-A显示匹配行及之后的内容-B显示匹配行及之前的内容-C或-显示匹配行及前后内容

知识扩展:

$?:上一行命令执行的结果,0表示成功,其他数字表示失败。wc:统计行数-l:打印匹配行数-c:打印匹配的字节数

在/etc目录下,有多少个文件包含root。grep -rl 'root' /etc/ | wc -l

正则表达式:

在Linux中,正则表达式分为普通正则表达式和扩展正则表达式。

普通正则表达式:

^:以某字符开头$:以某字符结尾.:匹配除换行符之外的任意单个字符*:匹配前导字符的任意个数[]:匹配某组字符串中的任意一个字符[^]:取反[a-z]:匹配小写字母[A-Z]:匹配大写字母[a-zA-Z]:匹配字母[0-9]:匹配数字:取消转义():分组n:代表第n个分组

扩展正则表达式:

{}:匹配的次数{n}:匹配n次{n,}:至少匹配n次{n,m}:匹配n到m次{,m}:最多匹配m次+:匹配至少有一个前导字符?:匹配一个或零个前导字符|:或

案例如下:

案例1:在/etc/passwd文件中,匹配以ftp开头的行grep '^ftp' /etc/passwd

案例2:在/etc/passwd文件中,匹配以bash结尾的行grep 'bash$' /etc/passwd

案例3:匹配本机中的IP地址ip a | grep -oE "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"或ip a | grep -oE '([0-9]{1,3}.){3}[0-9]{1,3}'

案例4:从/etc/fstab文件中去掉以#开头且#后至少有一个空格的行grep -vE '^# +' /etc/fstab

案例5:找出文件中至少有一个空格的行grep -E ' +' xxx

案例6:从nginx.conf文件中删除以#开头的行和空行grep -vE '^ *#|^$' /etc/nginx/nginx.conf

以上就是Linux 三剑客之grep的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/17926.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
淘宝催发货工单是投诉吗?如何处理?5步高效处理法附话术模板让你轻松掌握!
上一篇 2025年12月4日 00:10:28
Win10计算机意外地重新启动或遇到错误怎么办?
下一篇 2025年12月4日 00:12:39

相关推荐

  • php composer的简明安装步骤及使用方法

    本文由composer教程栏目给大家介绍安装php composer的简明安装步骤方法,希望对需要的朋友有所帮助! php-composer的安装与使用方法(简化版) 1.简介 Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。 2.系统…

    用户投稿 2026年9月5日
    000
  • 修改配置文件来实现虚拟网卡实例

      关于图形界面的配置,我这里就不多介绍了,这个很简单。这里介绍的是如何通过修改配置文件来实现虚拟网卡。   首先介绍ubuntu(我这里使用的是ubuntu-16.04)下虚拟网卡的配置 1、先用ifconfig查看当前的网卡配置 ens33 Link encap:以太网 硬件地址 02:0c:2…

    用户投稿 2026年9月5日
    100
  • 如何在Linux中强制终止进程?

    强制终止进程常用kill、killall和pkill命令发送信号;先用ps或pgrep获取PID,再执行kill -9 PID终止指定进程;killall -9 进程名可结束所有同名进程;pkill -9 支持按名称、用户等条件终止进程;-9为SIGKILL信号,强制终止且不可忽略,但应优先尝试默认…

    2026年9月5日
    100
  • 正则表达式

    一、正则表达式 1、匹配字符的类型 [a-z]:小写字母 [A-Z]:大写字母 [a-Z]:小或大写字母 [0-9]:数字 [a-zA-Z0-9]:表示匹配一个为字母或数字的字符 . :匹配1个任意字符,空格除外  [0-f]:16进制数 abc | def:abc或def a (bc | de) …

    用户投稿 2026年9月5日
    100
  • SpringBoot项目中大量固定参数如何高效管理?

    SpringBoot项目:高效管理大量固定参数的策略 在SpringBoot项目开发中,常常需要配置大量的固定参数。本文探讨几种高效管理这些参数的方法,并分析其优缺点,帮助您选择最合适的方案。 除了常用的配置文件方式外,以下方法同样有效: 1. 命令行参数: 启动应用时,可通过命令行参数传递配置值。…

    2026年9月5日
    200
  • composer安装包在哪个目录

    Composer 安装包通常位于以下目录:Windows:C:Users%USERNAME%AppDataRoamingComposermacOS:~/.composerLinux:/home/$USER/.composer自定义安装目录 Composer 安装包的目录 Composer 是 PHP…

    2026年9月5日
    200
  • 如何测试Linux网络接口DMA性能 直接内存访问评估

    如何测试Linux网络接口DMA性能 直接内存访问评估如何测试Linux网络接口DMA性能 直接内存访问评估如何测试Linux网络接口DMA性能 直接内存访问评估如何测试Linux网络接口DMA性能 直接内存访问评估

    要评估linux系统中网络接口dma性能,需确认dma启用状态并测试优化。1. 使用ethtool和/proc文件确认网卡dma是否启用;2. 利用iperf3、netperf、pktgen等工具测试性能并监控cpu使用率;3. 检查dmesg日志中的dma相关错误并观察中断分布;4. 调整网卡多队…

    2026年9月5日 用户投稿
    300
  • deepseek怎样安装?使用deepseek需要付费吗?一文了解deepseek

    针对不同的系统,DeepSeek 的安装方法有所不同。以下为常见系统的安装方式:Windows 系统确认系统要求:系统为 Windows 10 及以上版本,准备至少 8GB 运行内存的电脑,若进行复杂任务建议 16GB 及以上,并保证有一定空闲硬盘空间。 ☞☞☞AI 智能聊天, 问答助手, AI 智…

    2026年9月5日
    100
  • Claude和ChatGPT有什么区别_Claude与ChatGPT功能对比分析

    Claude在长文本处理和复杂指令遵循上具有显著优势,主要得益于其超大上下文窗口(可达20万token)和“宪法式AI”训练机制。这使得它能同时处理大量文本信息,在法律合同分析、技术文档总结、代码库审查等场景中表现优异。其强大的上下文记忆能力确保了长时间多轮对话的连贯性,不易“失忆”或跑题。同时,宪…

    2026年9月5日
    100
  • VSCode代码空格怎么解决_VSCode空格与缩进格式问题处理教程

    答案是通过配置VSCode设置、使用.editorconfig文件、集成Prettier等格式化工具,并统一团队规范,可有效解决代码缩进与空格问题。具体包括调整tabSize、insertSpaces、detectIndentation等编辑器设置,禁用自动检测以避免混乱,配合Prettier、ES…

    2026年9月4日
    200
  • linux系统下文件的权限设置

    最近搞了一批权限最小化的问题,这里专门进行一下linux下文件权限的总结,其实非常简单。 在介绍linux下文件的情况,需要先介绍一个概念,用户、用户组。 和win一样,linux也是需要用户才能登录的。不同的是在linux中,还存在一个概念:用户组。也就是当前用户所属的属组。为什么要引入这样一个看…

    2026年9月4日
    100
  • Nginx代理URL多出一个斜杠的根本原因是什么?

    Nginx代理导致URL多余斜杠的根本原因及解决方案 使用Nginx进行反向代理时,如果代理路径末尾没有添加斜杠“/”,可能会导致目标URL多出一个斜杠,最终引发404错误。这是由于Nginx对location指令的路径匹配规则造成的。 Nginx官方文档说明: location路径以“/”结尾:匹…

    2026年9月4日
    100
  • Linux系统下安装rz/sz命令教程以及用法说明

    Linux系统下安装rz/sz命令以及使用说明          对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令。今天,我们就简单的讲解一下如何安装和使用rz…

    2026年9月4日
    200
  • Linux下find和grep区别和常用命令介绍

    find 功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。 语法: find 查找位置 匹配文件名 说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。 grep grep全称是Global Regula…

    用户投稿 2026年9月4日
    100
  • linux 中host 文件的作用和一些命令

    linux 中host 文件的作用 hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,以ASCII格式保存在“/etc”目录下,文件名为“hosts”(不同的linux版本,这个配置文件也可能不同。比如Debian的对应文件是/etc/hostname)。hosts文件包含了IP…

    2026年9月4日
    100
  • C语言头文件防卫式声明

    c语言一般提供三种预处理功能:宏处理、文件包含、条件编译。头文件防卫式申明中会用到条件编译中 #ifndef 、 #define 、 #endif 的用法。所以,首先价绍下条件编译。 1 条件编译 一般情况下,在生成可执行文件的过程中,源程序文件中的所有代码行都进行编译,但是在一些跨操作系统的情况下…

    2026年9月4日
    200
  • Linux 配置多个Tomcat需要注意的地方

    ############ linux 配置多个tomcat要修改的地方 ############### ### tomcat2/conf/server.xml 改3处 ### tomcat2/bin/setClasspath.sh 尾部追加的内容export JAVA_HOME=/usr/java/…

    用户投稿 2026年9月4日
    100
  • 在ubuntu中linux常用指令大汇总

    来实验室将近一个月,几乎没碰window,一直在ubuntu下开发,然后想总结一下最近常用的linux指令。 (0) su和sudo:得到root权限 su 切换到root用户sudo command 切换到root用户,执行command,然后切换回当前用户su liaohuqiang 切换回普通…

    用户投稿 2026年9月4日
    100
  • 如何实现Linux网络故障转移 高可用网络配置实例

    如何实现Linux网络故障转移 高可用网络配置实例如何实现Linux网络故障转移 高可用网络配置实例如何实现Linux网络故障转移 高可用网络配置实例如何实现Linux网络故障转移 高可用网络配置实例

    在linux环境中构建可靠的网络服务需通过网络接口绑定和keepalived实现故障转移。1. 网络接口绑定(bonding/teaming)用于物理链路层冗余,常用模式包括active-backup(保障故障切换)、balance-rr(轮询负载均衡)和802.3ad(lacp标准,支持负载均衡与…

    2026年9月4日 用户投稿
    100
  • Linux下关于Bash提示符的一些操作详解

    这篇文章主要介绍了linux bash 提示符的一些骚操作,一些能让你自定义 bash 提示符的黑科技,需要的朋友可以参考下 一些能让你自定义 Bash 提示符的黑科技 当你在 Linux 环境下打开一个 Shell 终端时,会看到命令行中出现了类似下面的一个 Bash 提示符: [user@$ho…

    用户投稿 2026年9月4日
    100

发表回复

登录后才能评论
关注微信