shell语法 06-Linux文本处理-grep

  • grep命令在一个或多个文件中查找某个字符模式。
  • 如果这个模式中包含空格,就必须用引号把它括起来。
grep Tom /etc/passwd
  • grep 将在文件中查找/etc/passwd 中查找模式 Tom。
  • 结果如下:
    • 查找成功,文件中相应行会显在屏幕上
    • 没有找到指定的模式,就不会有任何输出
    • 指定的文件不是一个合法的文件,屏幕上就会显示报错信息
    • 发现了要查找的模式, grep 就返回退出状态 0,表示成功,
    • 没找到要查找的模式,返回的退出状态为 1,
    • 找不到指定文件时,退出状态将是 2。
ps -ef | grep root
  • ps 命令的输出被送到 grep,然后所有包含 root 的行都被打印在屏幕上。

grep选项

选 项功 能
-E如果加这个选项,那么后面的匹配模式就是扩展的正则表达式,也就是 grep -E = egrep
-i比较字符时忽略大小写区别
-w把表达式作为词来查找, 相当于正则中的"<...>"(...表示你自定义的规则)
-x被匹配到的内容,正好是整个行,相当于正则"^...$"
-v取反,也就是输出我们定义模式相反的内容
-ccount.统计,统计匹配结果的行数,主要不是匹配结果的次数,是行数。
-m只匹配规定的行数,之后的内容就不在匹配了
-n在输出的结果里显示行号,这里要清楚的是这里所谓的行号是该行内容在原文件中的行号,而不是在输出结果中行号
-o只显示匹配内容, grep 默认是显示满足匹配条件的一行,加上这个参数就只显示匹配结果,比如我们要匹配一个 ip 地址,就只需要结果,而不需要该行的内容。
-R递归匹配。如果要在一个目录中多个文件或目录匹配内容,则需要这个参数
-B输出满足条件行的前几行,比如 grep -B 3 "aa" file 表示在 file 中输出有 aa 的行,同时还要输出 aa 的前 3 行
-A这个与-B 类似,输出满足条件行的后几行
-C这个相当于同时用-B -A,也就是前后都输出

例子

显示包含#的行,并在前面添加行数grep -n '#' /etc/ssh/sshd_config
显示包含#的行,并关闭大小写敏感性
grep -i '#' /etc/ssh/sshd_config
显示sshd配置文件,排除空行和以#号开头的
cat /etc/ssh/sshd_config |grep -v '^$' |grep -v '^#'
显示包含s内容的所有文件名
grep -l 's' /etc/ssh/*
统计包含有#的行数
grep -c '#' /etc/ssh/sshd_config
只显示包含Port词的行grep -w 'Port' /etc/ssh/sshd_config

转载于:https://www.cnblogs.com/liangjingfu/p/9419455.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/413606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[css] 使用css实现蒙版的效果

[css] 使用css实现蒙版的效果 filter: blur(1px)个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

redis启动警告解决

背景 最近在测试环境重启后,redis启动遇到了三个警告 第一个警告&#xff1a;The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 第二个警告&#xff1a;overcommit_memory is set to 0! Background…

[css] 父元素下有子元素,子元素也有高度但父元素的高度为何为0呢?分析下可能出现的原因及解决方法

[css] 父元素下有子元素&#xff0c;子元素也有高度但父元素的高度为何为0呢&#xff1f;分析下可能出现的原因及解决方法 父元素塌陷父元素在文档流中高度默认是被子元素撑开的&#xff0c;当子元素脱离文档流以后&#xff0c;将无法撑起父元素的高度&#xff0c;也就会导致父…

[css] 假如css的分号写在声明块之外,将会发生什么呢?解释下原因

[css] 假如css的分号写在声明块之外&#xff0c;将会发生什么呢&#xff1f;解释下原因 这样写第一条规则的分号会被放到第二条规则的句首解析&#xff0c;导致第二条解析报错&#xff0c;从而略过。<style> p {color: blue} ;.p1 {color: red} .p2 {color: green} <…

树莓派安装vnc server并设置自启动

在SSH终端输入sudo raspi-config, 这里需要打开几个选项: expand_rootfs – 将根分区扩展到整张SD卡;change_pass – 默认的用户名是pi&#xff0c;密码是raspberry;change_timezone – 更改时区, 选择Asia – Shanghai;configure_keyboard, 选English&#xff08;US&#xff0…

[css] 如何阻止:hover、:active等鼠标行为状态的触发?

[css] 如何阻止:hover、:active等鼠标行为状态的触发&#xff1f; css属性&#xff1a;pointer-events: none;应用 避免重复提交---按钮点击后 即增加该属性 使其不 链接不可跳转---指定a标签加上该属性 点击被上方元素覆盖的下方链接---上方元素添加该属性个人简介 我是歌谣…

常用的HTML标签(超文本标记语言)

HTMl (Hyper Text Markup Language)基本标签基本结构标签<!--..-->注释标志,在"<!--"与"-->"之间的内容将不在浏览器中显示(指定了HTML文档遵循的文档类型定义)<html>表示该文件为html文件<head></head>包含文件的标题,使用…

[css] 用css画一个平行四边形

[css] 用css画一个平行四边形 .parallelogram {margin: 30px;width: 200px;height: 100px;border: 1px solid slateblue;transform: skew(-20deg); } <div class"parallelogram"></div>个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放…

洛谷 P1063 能量项链 区间dp

洛谷 P1063 题意&#xff1a;在一串项链中&#xff0c;是环状的&#xff0c;第 i 颗珠子有两个能量a[i]和a[i1],第i1颗珠子有两个能量a[i1]和a[i2],可以合并两个珠子&#xff0c;得到a[i]*a[i1]*a[i2]的能量&#xff0c;这两个珠子合并成a[i]和a[i2]的新珠子&#xff0c;问通过…

支付宝第三方授权登陆

支付宝微信第三方软件的接入&#xff0c;也是越来越流行&#xff0c;最近也稍微研究了一下&#xff0c;支付宝和微信的登陆接入。 由于本人是做Java后台发开的&#xff0c;所以前端app集成没有涉及&#xff0c;研究的是网页和后台部分。 做第三方软件的​接入&#xff0c;…

[css] H5如何禁止显示系统菜单?

[css] H5如何禁止显示系统菜单&#xff1f; touch-callout:none; user-select:none;个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

[css] 如何让表格单元格等宽显示

[css] 如何让表格单元格等宽显示 table-layout: fixed; width: 100%;个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

解决IntelliJ创建Maven项目一直显Loading archetype list

最近在使用idea的过程中&#xff0c;创建maven项目&#xff0c;一直会遇到这个问题&#xff0c;查了很多资料&#xff0c;最终解决啦。 网上普遍存在两种方式 但是我是用第三种方式解决的..... 首先&#xff0c;说说前两种方式&#xff0c; 1.删除{User_Home}/.IntelliJIdea{V…

flex布局-笔记

一 、flex布局 弹性布局&#xff0c;灵活性 .box{display: flex;display: -webkit-flex; /* Webkit内核的浏览器&#xff0c;必须加上-webkit前缀。 */ /* 行内元素也可以使用弹性布局。 display: inline-flex;*/ /*弹性布局后&#xff0c;子元素的float、clear和vertical-ali…

[css] 固定的外框尺寸,里面的图片尺寸不固定,如何让图像自适应外框呢?

[css] 固定的外框尺寸&#xff0c;里面的图片尺寸不固定&#xff0c;如何让图像自适应外框呢&#xff1f; 使用 object-fit &#xff0c;用法类似background-size&#xff0c;可选的值&#xff1a;cover、contain、fill等个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后…

idea创建springboot项目出现的问题

当启动一个不连接数据库的springboot时&#xff0c;会报错 Cannot determine embedded database driver class for database type NONE 是因为springboot在启动时&#xff0c;会扫描DataSource相关配置的包所以SpringBootApplication(exclude {DataSourceAutoConfiguration.c…

【EasyNetQ】- 发送接收

发布/订阅和请求/响应模式是位置透明的&#xff0c;因为您不需要指定消息的使用者所在的位置&#xff0c;而发送/接收模式专门用于通过命名队列进行通信。它也不会假设可以通过队列发送的消息类型。这意味着您可以通过同一队列发送不同类型的消息。 发送/接收模式非常适合创建“…

[css] 不用换行的标签,怎么伪元素实现换行的效果?

[css] 不用换行的标签&#xff0c;怎么伪元素实现换行的效果&#xff1f; 使用\A 换行&#xff0c;并且指定white-space: pre保留换行效果.foo::after {content: 123\A 456;white-space: pre; }个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#…

Linux下将mysql数据导入与导出

一、导出数据库用mysqldump命令&#xff08;注意mysql的安装路径&#xff0c;即此命令的路径&#xff09;&#xff1a; 1、导出数据和表结构&#xff1a; mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql #/usr/local/mysql/bin/mysqldump -uroot -p abc > abc.sql 敲…

​​使用win7超级终端连接华为交换机并配置端口镜像

​ 首先&#xff0c;用console连接主机和交换机&#xff0c;打开超级终端&#xff0c;&#xff08;注意&#xff1a;一定要用win7系统配置&#xff09;如图所示&#xff1a; ​ ​ 新建连接时名字随意&#xff0c;但要注意不能是下面图标&#xff1a; ​ 然后出现下面这…