centos在文本中搜索字符串_linux(centos8):用grep命令查找文件内容
一,grep的用途:
linux平台有最常用的三大文本处理工具:awk/sed/grep
grep的功能:搜索指定文件的内容,按照指定的模式匹配,并输出匹配内容所在的行。
需要注意的地方:grep只支持匹配但不能替换匹配到的内容
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,查看grep所属的rpm包
[root@blog ~]# whereis grep
grep: /usr/bin/grep /usr/share/man/man1/grep.1.gz /usr/share/man/man1p/grep.1p.gz /usr/share/info/grep.info.gz
[root@blog~]# rpm -qf /usr/bin/grep
grep-3.1-6.el8.x86_64
如果系统提示找不到grep命令或误删除了命令,
可以用dnf安装
[root@blog ~]# dnf install grep
三,查看grep的版本和帮助
1,查看版本
[root@blog ~]# grep --versiongrep (GNU grep) 3.1Copyright (C)2017Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are freeto change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Haertel and others, see.
2,查看帮助:
[root@blog ~]# grep --help
3,查看手册:
[root@blog ~]# man grep
四,grep命令的使用例子
1,列出所有的nginx进程
#-v:反向匹配,不显示包含指定字串的行
[root@blog ~]# ps auxfww | grep 'nginx:' | grep -v greproot14470 0.0 0.0 71028 3340 ? Ss May17 0:00 nginx: master process /usr/local/openresty/nginx/sbin/nginx
nginx14471 0.0 0.0 102764 7796 ? S May17 0:00\_ nginx: worker process
nginx14472 0.0 0.0 102436 6048 ? S May17 0:00\_ nginx: worker process
nginx14473 0.0 0.0 102436 6048 ? S May17 0:00\_ nginx: worker process
nginx14474 0.0 0.0 102436 6048 ? S May17 0:00\_ nginx: worker process
nginx14475 0.0 0.0 102436 5992 ? S May17 0:00\_ nginx: worker process
nginx14476 0.0 0.0 102436 6048 ? S May17 0:00\_ nginx: worker process
nginx14477 0.0 0.0 102436 6048 ? S May17 0:00\_ nginx: worker process
nginx14478 0.0 0.0 102436 6048 ? S May17 0:00 \_ nginx: worker process
2,列出所有登录成功/失败的记录
#-i: 忽略大小写
[root@blog log]# grep -i "accepted password" /var/log/secure
3,列出所有不是root登录的记录
[root@blog log]# last | grep -v root
4,输出文件名和行号
#-n: 输出匹配行在文件中的行号
[root@blog log]# grep -i -n "accepted password" *
说明:如果有多个文件匹配时,文件名也会显示出来
5,递归查询
# -R :递归查询目录下的子目录及文件
[root@blog nginxlogs]$ grep -R -i iphone *
如果不加 R,默认遇到目录不会继续查询
6,得到匹配到的记录数量
#-c:显示总共有多少行被匹配到,而不显示被匹配到的内容
[root@blog nginxlogs]$ grep -i -c iphone i_ssl.access.log14811
7,只显示被匹配到的字符串,而不是匹配到的行
#-o:只显示被模式匹配的字符串
[root@blog nginxlogs]$ grep -i -o iphone i_ssl.access.log
8,只匹配单词:
#-w:被匹配的文本只能是单词,不能是单词中的一部分
[root@blog nginxlogs]$ grep -i -w advertise i_ssl.access.log
可以匹配: /home/index?advertise=b&now_page_id=0&app_key=iPhone
不能匹配: /advertisement/getList?uid=12345
9,多行显示:显示匹配到的行及其后指定数量的行
匹配accepted的行及其前10行
[root@blog log]# grep -B 10 -i "accepted" secure
匹配accepted的行及其后10行
[root@blog log]# grep -A 10 -i "accepted" secure
匹配accepted的行及其前后各10行
[root@blog log]# grep -C 10 -i "accepted" secure
10,只显示有匹配行的文件名:
#-l:列出文件内容符合指定的样式的文件名称
[root@blog log]# grep -i -R -l "accepted" *
五,grep中使用正则表达式的例子
1,集合:
. :任意一个字符。
[abc] :表示匹配一个字符,这个字符必须是abc中的一个。
[a-zA-Z] :表示匹配一个字符,这个字符必须是a-z或A-Z这52个字母中的一个。
[^123] :匹配一个字符,这个字符是除了1、2、3以外的所有字符
查询no和od中间是一个小写字母的账号
[root@blog log]# grep "no[a-z]od" /etc/passwd
2,开头和结尾:
查询以bash结尾的账号
[root@blog log]# grep 'bash$' /etc/passwd
查询所有以非bash结尾的账号
[root@blog log]# grep '[^bash]$' /etc/passwd
查询以r打头的账号:
[root@blog log]# grep '^r' /etc/passwd
查询所有不是r打头的账号
[root@blog log]# grep '^[^r]' /etc/passwd
3,出现次数
x\{m\} 重复字符x,m次,例子:'a\{5\}'匹配包含5个a的行。
x\{m,\} 重复字符x,至少m次,例子:'b\{5,\}'匹配至少有5个b的行。
x\{m,n\}重复字符x,至少m次,不多于n次,例子:'c\{5,10\}'匹配5--10个c的行
passwd 中o出现2次
[root@blog log]# grep "o\{2\}" /etc/passwd
passwd 中o出现最少1次最多2次
[root@blog log]# grep "o\{1,2\}" /etc/passwd
passwd 中o出现最少2次最多不限次
[root@blog log]# grep "o\{2,\}" /etc/passwd
4,其他例子:
显示一个目录下的所有目录:
[root@blog log]# ll -d */
或
[root@blog log]# ls -l |grep "^d"
列出一个目录下所有非目录的文件
[root@blog log]# ls -l |grep "^[^d]"
列出一个目录下,group和other有权读取的文件
[root@blog log]# ls -l |grep "^-...r..r.."
六,查看centos的版本
[root@blog ~]$ cat /etc/redhat-release
CentOS Linux release8.0.1905 (Core)
centos在文本中搜索字符串_linux(centos8):用grep命令查找文件内容相关推荐
- centos在文本中搜索字符串_Google和Baidu的搜索技巧你会吗?
今日分享:人要有三个头脑,天生的一个头脑,从书中得来的一个头脑,从生活中得来的一个头脑.----<蒙田随笔> 前言 搜索引擎我们经常使用,但是我们最常用的可能就是把要搜索的内容直接复制到搜 ...
- centos在文本中搜索字符串_CentOS查找所有文件中某个字符串
查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xar ...
- 用grep命令查找文件中带特定扩展名的字符串
2019独角兽企业重金招聘Python工程师标准>>> 如在日志中查找对js文件的请求,可以这么写 grep -Po '\w+\.js' access.log 如果要进一步排除一些文 ...
- linux下用grep命令根据文件内容进行关键字搜索[linux ubuntu grep] -转
命令原型:grep -rl "keyword" filepath 比如现在我们要查找在/home/userlan/目录中哪些文件中包含foobar这个关键字 1. 打开终端 2. ...
- linux 文件中搜索字符串命令 grep
用'grep'搜索文本文件 如果您要在几个文本文件中查找一字符串,可以使用'grep'命令.'grep'在文本中搜索指定的字符串. 假设您正在'/usr/src/linux/Documentatio ...
- java 字符串查找程序_java-如何在JAR文件中搜索字符串
java-如何在JAR文件中搜索字符串 我的应用程序基于Java EE构建. 我在此应用程序中大约有50个罐子. 是否可以搜索特定的关键字(实际上我想搜索关键字BEGIN REQUEST)? user ...
- 借助vim统计文本中的字符串数目,行首字符串查询
借助vim统计文本中的字符串数目 普通命令: :%s/pattern//gn pattern为要查询的字符串 技巧:当需要统计的字符串处于行首,且是其他字符串的子集时,可以考虑每行行首加一个特定字符, ...
- linux使用grep查找文件内容,Linux中使用grep命令搜索文件名及文件内容的方法
这篇文章主要介绍了Linux中使用grep命令搜索文件名及文件内容的方法,同时文中还介绍了将匹配结果高亮显示的方法,相当实用,需要的朋友可以参考下 从文件中搜索并显示文件名 当从多个文件中搜索时,默认 ...
- 2019-8-20 [Linux] 6.Shell的基本操作 查看 改变 列出 阅读开头/结尾 循环查看 阅读工具less 查找文件内容 文本分析工具AWK 文本编辑工具SED文件find 帮助man
文章目录 6.linuxShell的基本操作 6.1 查看目录和文件 6.1.1 显示当前目录:pwd 6.1.2 改变目录:cd 6.1.3 列出目录内容:ls 1) 查看列表信息 以及详细信息 2 ...
最新文章
- ubuntu 恢复apt_apt-clone:备份已安装的软件包并在新的 Ubuntu 系统上恢复它们
- Hibernate(2)——Hibernate的实现原理总结和对其模仿的demo
- 君士坦丁堡分叉引起的安全问题
- javaScript 实现多选框全选/反选及批量删除
- 年入百万还是低龄低收入?9.04亿网民的真实面目,都藏在这些数据里
- 数据之“星”冉冉升起,“星斗奖”申报正式启动!
- 服务器apache远程命令,Linux实例:用socket通讯远程执行命令
- 配置VS2008本地调试.NETFRAMEWORK源代码
- ios开发 方形到圆的动画_3Blue1Brown 动画制作教程(1)--制作第一个自己的动画
- 开源私有云盘python_搭建Windows版Seafile开源私有云盘
- 2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛 C:计算几何
- C#AE将当前地图导出为一张图片地图
- 诺基亚Q4净利润5.64亿美元 同比增54%
- 【云原生】promehtheus整合grafana实现可视化监控实战
- ios 渐变透明背景_这不是玩笑!只用线条和背景图来搞定汇报类PPT封面?
- 商业堡垒机是什么意思?有免费版的商业堡垒机吗?
- 上海调整私车额度参拍条件:申请前一年内无交通违法行为记录
- csv库的作用、怎么用、以及csv库的操作快速上手
- 笔记本/TK1安装ROS Indigo教程
- 天振股份上市首日破发:市值蒸发约8亿元,方庆华夫妇为实控人