0

0

Linux 三剑客之grep

星夢妙者

星夢妙者

发布时间:2025-07-17 10:44:21

|

180人浏览过

|

来源于php中文网

原创

目录

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:从哪里读取

如此AI员工
如此AI员工

国内首个全链路营销获客AI Agent

下载

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

相关专题

更多
js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

510

2023.06.20

正则表达式不包含
正则表达式不包含

正则表达式,又称规则表达式,,是一种文本模式,包括普通字符和特殊字符,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式的文本。php中文网给大家带来了有关正则表达式的相关教程以及文章,希望对大家能有所帮助。

249

2023.07.05

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

742

2023.07.05

java正则表达式匹配字符串
java正则表达式匹配字符串

在Java中,我们可以使用正则表达式来匹配字符串。本专题为大家带来java正则表达式匹配字符串的相关内容,帮助大家解决问题。

213

2023.08.11

正则表达式空格
正则表达式空格

正则表达式空格可以用“s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。本专题为大家提供正则表达式相关的文章、下载、课程内容,供大家免费下载体验。

351

2023.08.31

Python爬虫获取数据的方法
Python爬虫获取数据的方法

Python爬虫可以通过请求库发送HTTP请求、解析库解析HTML、正则表达式提取数据,或使用数据抓取框架来获取数据。更多关于Python爬虫相关知识。详情阅读本专题下面的文章。php中文网欢迎大家前来学习。

293

2023.11.13

正则表达式空格如何表示
正则表达式空格如何表示

正则表达式空格可以用“s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。想了解更多正则表达式空格怎么表示的内容,可以访问下面的文章。

234

2023.11.17

正则表达式中如何匹配数字
正则表达式中如何匹配数字

正则表达式中可以通过匹配单个数字、匹配多个数字、匹配固定长度的数字、匹配整数和小数、匹配负数和匹配科学计数法表示的数字的方法匹配数字。更多关于正则表达式的相关知识详情请看本专题下面的文章。php中文网欢迎大家前来学习。

528

2023.12.06

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

38

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号