grep命令学习

1.grep命令简介

    grep命令是Linux系统中非常强大的文本搜索工具,全名Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户.根据某种模式(Pattern)搜索文本,并将符合模式的文本行显示出来.其中模式:由文本字符和正则表达式的元字符组合而成的匹配条件.

2.命令格式

grep [options] PATTERN [FILE...]

options选项:

-i 忽略模式的大小写

--color 用颜色标记

-v  反向查找

-o  只显示被模式匹配到的字符串

-c  只输出匹配行的计数

-n  显示匹配行及行号

-v  显示不包含匹配文本的所有行

PATTERN字段:

正则表达式:

  • 匹配任意单个字符 "."     grep ‘r..t‘ /etc/passwd
  • 匹配前一个字符任意次 "*"
  • 匹配任意长度的任意字符".*"    grep ‘a.*b‘ /333/testre
  • 匹配前一个字符1次或者0次 “\?"    grep ‘a\?b‘ /333/testre
  • 匹配前面字符至少n,至多m "\{n,m\}"    grep ‘a\{1,3\}b‘ /333/testre
  • 位置定义为行首"^",    grep ‘^r..t‘ /etc/passwd
  • 位置定义为行尾"$",     grep ‘w$‘  /etc/initab
  • 空白行 "^$" ,    grep ‘^$‘  /etc/fstab | wc -l
  • 匹配指定范围内的单个字符 ”[]"
  • 匹配指定范围外的单个字符 "[^]"
  • [[:digit:]] [[:lower:]] [[:upper:]] [[:space:]] [:alpha:]] [[:alnum:]]

例如:匹配以空白字符+数字结尾的行?  grep ‘[[:space:]]*[[:digit:]]$‘ /etc/initab

  • 后边的任意字符作为单词首部出现 "\<"
  • 前边的任意字符作为单词首部出现 "\>"
  • 分组内容 "\(\)"    grep "\(ab\)*" /333/testre

基本正则表达式:

  • 字符匹配: "." "[]" "[^]"
  • 次数匹配: "*" "\?" "\{m,n\}" ".*"
  • 位置匹配: "^" "$" "\<" "\>" "\b" "\(\) \1 \2 \3"

扩展正则表达式:

grep -E  / egrep

次数匹配“*” “?” “+”其前字符至少一次  grep -E ‘^[[:space:]]+‘ /boot/grup/group.conf ‘

"|"  或者  grep -E ‘c|cat‘ /333/testre

例子:找出/etc/networks中所有的1-255的整数

grep -E --color ‘\<([1-9] | [1-9][0-9] | 1[0-9][[0-9] | 2[0-4][0-9] | 25[0-5]‘ /etc/networks

时间: 2024-08-02 06:58:19

grep命令学习的相关文章

Linux中grep命令学习

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

Linux命令学习:grep文本搜索工具

Mark: 本系列博文只是记录作者在Linux学习过程中的点点滴滴,新手可能参考,高手们就略过吧!!! Linux学习总结:grep文本搜索工具 功能:根据用户指定的文本模式(搜索条件)对目标文件进行逐行搜索,并把匹配的行打印出来,它的全称为"Global Regular Expression Print",全局正则表达式,它默认是开放给所有用户. 语法格式:Grep [option] pattern file Option:命令选项,具体包含: -v: --revert-match

《Linux学习并不难》Linux常用操作命令(14):grep命令查找文件中符合条件的字符串

8.14  <Linux学习并不难>Linux常用操作命令(14):grep命令查找文件中符合条件的字符串 使用grep命令可以查找文件内符合条件的字符串.          命令语法: grep [选项] [查找模式] [文件] 命令中各选项的含义如表所示. 选项 选项含义 -E 模式是一个可扩展的正则表达式 -F 模式是一组由断行符分隔的定长字符串 -P 模式是一个Perl正则表达式 -b 在输出的每一行前显示包含匹配字符串的行在文件中的字节偏移量 -c 只显示匹配行的数量 -i 比较时不

Linux命令学习-grep

1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. 2.格式grep [options] 3.主要参数[options]主要参数:-c:只输出匹配行的计数.-I:不区分大 小写(只适用于单字符).-h:查询多文件时不显示文件名.-l:查询多文件时只输出包含匹配字符的文件名.-n:显示匹配行及 行号.-s:不显

linux命令学习笔记(39):grep 命令

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来. grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板.如果模板包括空格,则必须被引用, 模板后的所有字符串被看作文件名.搜索的结果被送到标准输出,不影响原文件内容. grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜

linux sheel编程学习笔记(二) --- grep命令

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板.如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名.搜索的结果被送到标准输出,不影响原文件内容. grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成

Linux的学习之路grep命令

1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. 2.格式grep [options] 3.主要参数[options]主要参数:-c:只输出匹配行的计数.-I:不区分大 小写(只适用于单字符).-h:查询多文件时不显示文件名.-l:查询多文件时只输出包含匹配字符的文件名.-n:显示匹配行及 行号.-s:不显

linux五大搜索命令学习

五大搜索命令学习 分别解释locate,find,which,whereis,grep 五大linux搜索命令 locate 解释:由man手册可以看出,locate查找就是根据文件名进行查找,只是依赖于updatedb命令.该命令更新linux中的查找数据库/var/lib/locatedb 这个数据库中含有本地所有文件信息.Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.为了避免这种情况,可以在使用 locate之前,先使用update

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

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