Grep 用法和正则表达式(一)

学习目标

grep的用法

为什么要学习正则表示?

学习更多的元字符

元字符的灵活应用

1、 grep的用法

ls | grep “查找的内容”   grep “查找的类容” | 某个文件;

grep –-version 查看grep的版本号;

cat hello.txt | grep “a” 查找出a;

grep -v “a”  test.txt 除了a,其他都查找出来;

grep -c  “a” test.txt 查看a有多少行;

grep  - v  -c  “a” test.txt 查看除a以外的有多少行;

grep  --color “a”  test.txt  查看所有a所在的内容;并且a以红色显示!

grep  -n “a” test.txt 查看所有a所在的内容;并且显示行号!

grep  -n –A 2 –-color “a” test.txt  以颜色显示包含a内容的行,并且显示包括a内容的行的下两行;

grep  -n –B 2 –-color “a” test.txt  以颜色显示包含a内容的行,并且显示包括a内容的行的上两行;

grep  -n –C 2 –-color “a” test.txt  以颜色显示包含a内容的行,并且显示包括a内容的行的上下两行;

2、 为什么要学习Regular Expression(正则表达式)

(1)   模糊、快速匹配数据串

(2)   为学习grep、awk 、 sed等文本过滤命令作铺垫

(3)   编写高级bash脚本的需要

3、 正则有哪些元字符

[] \ ^ $ . | ? * + ( )

4、 基本元字符集及其含义

举例:

(1)^ 匹配行首

ls | grep ‘^[0-3]’ 查询出0~3开头的所有文件;

ls | grep ‘^[^0-3]’ 查询出非0~3开头的所有文件;

(2)$ 匹配行尾

cat  test.txt | grep “^[0-3]e$”  匹配0-3开头,e结尾的内容;

(3) * 一个单字符后紧跟*,匹配0个或多个此字符;

(4)? 匹配0次或1次;

cat test.txt | grep “^[0-9]?*”

(5) . 只匹配任意单字符

cat test.txt | grep “5.e”

(6)pattern \{n\}

两者的区别:第一个匹配:不一定匹配开头的两个数字出现;

第二个匹配:匹配开头的两个数字出现;

(7)pattern \{n,\}  最少出现n次

(8)pattern \{n,m\} 出现次数在n~m之间;

时间: 2024-11-05 14:55:12

Grep 用法和正则表达式(一)的相关文章

文本处理(grep,vim),正则表达式

文件查看: cat [OPTION]... [FILE]...-E:显示行结束符$-n:对显示出的每一行进行编号-A:显示所有控制符-b:非空行编号-s:压缩连续的空行成一行 tac :内容倒过来显示 rev :每行倒过来显示 more:分页查看文件more [OPTIONS...] FILE...-d: 显示翻页及退出提示例:ls -R /etc/ | more ,它翻到最后就退出了 less:一页一页地查看文件或STDIN输出查看时有用的命令包括:/文本 :搜索 文本n/N :跳到下一个 或

linux下的grep,egrep及正则表达式

一, linux上常用的文本搜索工具,grep家族和正则表达式及介绍   linux上常用的文本搜索工具: grep(egrep,fgrep):文本搜索工具:基于"pattern"对给定文本进行搜索操作: sed:Stream EDitor,流编辑器,行编辑工具:文本编辑工具: awk:GNU awk,文本格式化工具:文本报告生成器: 正则表达式:由一类特殊字符及文本字符所编写的模式,其有些字符不表示其字面意义,而是用于表示控制或通配的功能: 一般分为两类: 基本正则表达式:BRE 扩

grep命令以及正则表达式,算数运算.

最近一段时间一直在学习算术运算和正则表达式以及条件判断,连续看了四五遍,基本概念已经能够搞清楚了,实际操作中容易把正则表达式和算术运算以及条件判断混淆.看来还是要勤加联系.今天终于是有勇气来总结这两周的学习.在这之前,因为在练习这些逻辑概念性的知识经常会用到grep命令.首先介绍一下grep. 格式:grep [options] 'PATTERN' file,... grep: 文本搜索工具,根据用户指定的文本模式对目标文件进行逐行搜索,显示文件中能够被模式所匹配到的行. 模式PATTERN:指

grep命令以及正则表达式

grep以及正则表达式 Grep 根据模式(文本字符和正则表达式的元字符组合而成匹配条件)搜索文本,并将符合模式的文本行显示出来. 1.1grep家族: grep:基本正则表达式使用的命令 egrep:扩展正则表达式使用的命令 fgrep(fast grep):不支持正则表达式,在没有正则表达式的字符串中的使用效率非常高,cup资源消耗少 1.2grep命令格式 grep  [options] PATTERN [FILE...] 1.2.1option -i忽略大小写 --color:对匹配出来

grep中使用正则表达式

1. intruduction GREP 全称Global search Regular Expression and Print out the line,用于搜索文件并将匹配的行打印出来,它可以使用regex 来搜索文本.它在一个或多个文件中搜索字符串pattern.如果pattern包括空格,则必须被引用(建议引用所有内容),pattern后的所有字符串被看作文件名.搜索的结果被送到标准输出,不影响原文件内容. grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,

Grep命令及正则表达式

grep: grep英文全名: Global search REgular expression and Print out the line. 作用:文本搜索工具,根据用户指定的"模式(pattern)"逐行去搜索目标文本,打印匹配到的行: 模式:由正则表达式的元字符及文本字符所编写的过滤条件: 元字符:字符不表示其字面意义,而用于表示通配或控制功能: Grep命令分为分两类: 基本正则表达式:BRE 扩展正则表达式:ERE 命令格式 grep [OPTIONS] PATTERN [

Linux中grep、egrep正则表达式的使用

正则表达式的由来 正则表达式,英文写法Regular Expression,在编程语言中常被简写为regex.regexp等.它是用来描述.匹配一系列符合某个句法规则字符串的单个字符串. 正则表达式通常被用来检索.替换那些符合某个模式(Pattern)的文本. 1950年代,UNIX之父Ken Thompson将正则表达式引入编辑器QED,然后是编辑器ed,最终引入到grep中.从此,正则表达式被广泛地应用到了各种UNIX或类UNIX系统的工具之中,例如perl. 近些年来,主流操作系统.主流开

Linux 命令grep, egrep,正则表达式大全

Linux grep 命令     Linux系统中grep,egrep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. 1.grep : 最早的文本匹配程序,使用POSIX定义的基本正则表达式(BRE)来匹配文本. 2.egrep : 扩展式grep,其使用扩展式正规表达式(ERE)来匹配文本. 3.fgrep : 快速grep,这个版

Linux三剑客之grep伐木累(正则表达式)

一.Linux文本处理三剑客 Linux上有三种常用的文本处理工具,分别为:grep(egrep.fgrep).sed.awk.今天主要给大家介绍一下三剑客中的第一剑:grep伐木累. 二.grep是什么? grep 全称(Globally search a Regular Expression and Print)是一个文本搜索工具,基于"pattern"(这里指的是过滤模式,多指正则表达式)对给定的文本进行搜索. grep家族: grep:支持使用基本正则表达式: egrep:支持