grep工具

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介:

正则表达式:

正则就是一串有规律的字符串

掌握好正则对于编写shell脚本有很大帮助

各种编程语言中都有正则,原理是一样的

grep工具

格式:

grep [-cinvABC] 'word' filename 

 -c 行数

 -i 不区分大小写

 -n 显示行号

 -v 取反

 -r 遍历所有子目录

 -A 后面跟数字,过滤出符合要求的行以及下面n行

 -B 同上,过滤出符合要求的行以及上面n行

 -C 同上,同时过滤出符合要求的行以及上下各n行

1、[root@test ~]# cat /etc/passwd| grep 'test'

test:x:507:111::/home/test:/bin/bash

test1:x:509:111::/home/test1:/bin/bash

gztest:x:555:111::/home/zg/:/bin/bash

-c:统计匹配的行数

[root@test ~]# grep -c 'test' /etc/passwd

3


2、

[root@test ~]# grep -in 'TesT' /etc/passwd

33:test:x:507:111::/home/test:/bin/bash

35:test1:x:509:111::/home/test1:/bin/bash

36:gztest:x:555:111::/home/zg/:/bin/bash


3、

[root@test ~]# ps -ef | grep rsync

root     11137     1  0 14:55 ?        00:00:00 rsync --daemon

root     11904 10038  2 16:10 pts/1    00:00:00 grep rsync

[root@test ~]# ps -ef | grep rsync| grep -v grep

root     11137     1  0 14:55 ?        00:00:00 rsync --daemon


4、

[root@test ~]# grep -r 'mysql' *

1.txt:mysqlroot=mysql -uroot -p

5、

[root@test ~]# grep -n -C 5 'test' /etc/passwd  

28-apache:x:48:48:Apache:/var/www:/bin/bash

29-tcpdump:x:72:72::/:/sbin/nologin

30-dockerroot:x:498:498:Docker User:/var/lib/docker:/sbin/nologin

31-www:x:506:506::/home/www:/bin/bash

32-jenkins:x:497:497:Jenkins Automation Server:/var/lib/jenkins:/bin/false

33:test:x:507:111::/home/test:/bin/bash

34-gz1:x:508:508::/home/gz1:/bin/bash

35:test1:x:509:111::/home/test1:/bin/bash

36:gztest:x:555:111::/home/zg/:/bin/bash

37-fc:x:556:556::/home/fc:/bin/bash

38-rsync:x:557:557::/home/rsync:/sbin/nologin


通配符

字符和字符范围匹配

. 匹配任意"单个字符" (bash 中,使用?号)

* 匹配紧挨在其前面的字符任意次

.*  表示零个或多个任意字符,空行也包含在内。

'o\{2\}'' 出现2次以上的o打印;'o\{1,4\}':出现一次到4次的打印

[root@test ~]# ls 2*.txt

23.txt  2.txt

.*  组合-----匹配任意长度的任意字符

排除空格及#开头的行

[root@test ~]# grep -E -v '^$|^#' /etc/fstab 

/dev/mapper/VolGroup-lv_root /                       ext4    defaults        1 1

UUID=22af8038-24b3-4dd4-b91b-10f1727c1083 /boot                   ext4    defaults        1 2

/dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

UUID=4381537c-d536-40d6-9522-9343c5998a29 /data ext4   defaults         0 0


例子:

[root@centos7-2 tmp]# cat test.txt 

123

abc

456


abc2323

#laksdjf

Alllllllll

问题1、查找出不是以大小写字母开头的行

#[^字符] 表示除[ ]内的字符之外的字符,^[]以什么开头;[15]:表示1和5,而不是15

grep ^[^A-Za-z] test.txt



以数字开头:

[root@test ~]# grep ^[0-9] 1.txt 

1 asd

2sd

3

4

5


以a-z开头:

[root@test ~]# grep -E ^[a-z] 1.txt 

mysqlroot=mysql -uroot -p

asd4444

sd

fsdf

[root@test ~]# grep -E ^[^a-z] 1.txt 

1 asd

2sd

3

4

5


egrep=grep -E

1、筛选出出现一个或者多个o

egrep 'o+' /etc/passwd


2、egrep 'oo+' /etc/passwd

3、(oo)+表示出现一个或者多个oo的

[root@centos7-2 tmp]# egrep '(oo)+' passwd 

root:x:0:0:root:/root:/bin/bash

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

roooooooooot

rooodt










本文转自 iekegz 51CTO博客,原文链接:http://blog.51cto.com/jacksoner/1979352,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Java Docker 微服务
利用Docker容器化部署Spring Boot应用
利用Docker容器化部署Spring Boot应用
381 0
|
人工智能 安全 网络虚拟化
指南:Grok官网是什么?国内如何使用grok 3 官网AI
Grok AI 是一款非常强大的人工智能助手,不仅能够在社交媒体管理、语音助手等方面为用户提供便利,还可以极大提升工作效率。
10223 5
|
存储 运维 监控
课时1:云原生可观测最佳实践
课时1:云原生可观测最佳实践
|
程序员
阿里云训练营day6-案例分享——钉钉
钉钉,经过疫情已经成为国民级的应用
794 0
|
9天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
3824 18
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考