lyx

  • 嵌入式
  • 运维
  • 笔记
  • 关于
所有文章 友链 关于我

lyx

  • 嵌入式
  • 运维
  • 笔记
  • 关于

Linux基础命令-grep|egrep

2017-04-06

0. 简介

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

1. 命令参数选项

grep [-acinv] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!

2. 常见的匹配规则

^      匹配输入字符串的开始位置。
*      匹配前面的子表达式任意次。
+      匹配前面的子表达式一次或多次(大于等于1次)。
?      匹配前面的子表达式零次或一次。
{n,m}  m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。

3.案例

grep '\<Tom\>' file                 包含单词Tom的行
grep 'Tom savage' file              包含Tom savage的行
grep '^Tommy' file                  包含以Tommy开头的行
grep '\.bak$' file                  包含以.bak结束的行
grep '[Pp]yramid' file              包含pyramid 或Pyramid的单词的行
grep '[A-Z]' file                   包含至少一个大写字母的行
grep '[0-9]' file                   包含至少一个数字的行
grep '[A-Z]...[0-9]' file           包含五个字符,以大写开头, 和一个数字结尾的行.
grep -w '[tT]est' file              包含单词和test的行.
grep -s 'ken sun' file              找到包含ken sun的行, 但不打印行, 而是用来检查退出状态.
grep -v aaa file                    打印不包含aaa的行.
grep -i cathy file                  打印所有包含cathy的行, 而不考虑大小些.
grep -l 'dear cathy' *              打印包含dear cathy的文件的文件名清单.
grep -n tom file                    打印匹配的行并追加行号.
grep "$LOGNAME" file                包含变量内容的行, 注意必须用双引号, 单引号则无法引用变量.
grep '$name' file                   打印包含字符$name的行.

4. 网络教程

关于grep和egrep的一些整理

linux grep命令详解

5. 正则表达式

百度百科

赏

谢谢你请我吃糖果

支付宝
微信
  • 运维
  • Centos6.8
  • Linux

扫一扫,分享到微信

微信分享二维码
mysql集群-MHA
Linux基础命令-cron
© 2017 lyx
Hexo Theme Yilia by Litten
  • 所有文章
  • 友链
  • 关于我

tag:

  • CentOS6.8
  • SSH服务
  • DHCP服务
  • 自动化部署
  • 互联网资源
  • IT
  • 运维
  • Linux
  • RSYNC服务
  • NTP服务
  • Postfix服务
  • DNS服务
  • NFS服务
  • Samba服务
  • FTP服务
  • Apache服务
  • CentOS7
  • Dokcer
  • Gitlab
  • 源码安装
  • Hadoop
  • 集群
  • Centos6.8
  • 文件共享
  • Haproxy
  • 存储系统
  • 高可用
  • 负载均衡
  • 编程
  • 程序员
  • LAMP
  • LNMP
  • WEB服务器
  • 博客
  • 编译
  • 内核
  • Linux命令
  • Linux基础
  • 笔记
  • 分布式系统
  • NFS
  • 认证服务
  • NIS
  • Nagios
  • 监控
  • 存储
  • RAID
  • WEB架构
  • 远程连接
  • SSH
  • Zabbix
  • 自动化
  • saltstack
  • cobbler
  • Centos7
  • ELKstack
  • Elasticsearch
  • Logstash
  • Heartbeat
  • MySQL
  • Nginx
  • puppet
  • markdown
  • 跨平台
  • Linux服务
  • 大学
  • 版权声明
  • STM32
  • 嵌入式
  • 邮件服务
  • 汉化
  • 网卡错误
  • 虚拟机
  • 分布式存储
  • Corosync
  • Pacemaker
  • DRBD
  • MooseFS

    缺失模块。
    1、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    2、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: true
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • 阿里云
  • 鸿鹄论坛
  • 百度云搜索
  • Github搜索
  • PDF转换软件
  • TI公司WEBENCH
  • powershell教程
  • 七牛云
  • 有道云笔记
  • HTML5
  • 小马运维博客
  • 运维知识体系架构图
  • 云栖社区
  • ChinaUnix
<br>热爱技术<br>热爱开源<br> 2017年<br>