linux命令:grep浅谈

  grep命令简介:

此个命令根据模式,搜索文本,并将符合模式的文本行显示出来。包含匹配,

不是完全匹配。也就是说只要某一行有一部分匹配到就显示出来。

*延伸阅读:模式(pattern)是指文本字符和正则表达式的元字符组合而成匹配条件

1.命令格式:

grep [OPTIONS] PATTERN [FILE...]

grep -i ‘root‘ /etc/passwd

2.命令功能:

对文本进行搜索,将符合模式的文本行显示出来。

3.命令参数:

-i 查找时忽略大小写

--color 模式中关键字以高亮有颜色显示出来

-v 显示没有被模式匹配的选项

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

支持正则表达式:

.:匹配任意单个字符

*:匹配其前面的字符任意次(包括0次)

.*:匹配任意长度的任意字符

[]:匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

[:digit:]数字  [:lower:]小写字母  [:upper:]大写字母  [:punct:]字符

[:space:]空格  [:alpha:]所有字母  [:alnum:]所有字母和数字

\?:匹配其前面的字符0次或1次  \表示转义

\(m,n\):匹配前面的字符至少m次,最多n次

\(m,\):匹配前面的字符至少m次

\(0,n):匹配前面的字符,最多n次

位置锚定:

^: 锚定行首,此字符后面的任意内容必须出现在行首

$: 锚定行尾,此字符前面的任意内容必须出现在行尾

^$: 空白行

\<或\b: 锚定词首,其后面的任意字符必须作为单词首部出现

\>或\b: 锚定词尾,其前面的任意字符必须作为单词的尾部出现

分组:

\(\)把括号内的当着一个整体

\(ab\)*把ab当着一个整体

后向引用

\1: 引用第一个左括号以及与之对应的右括号所包括的所有内容

\2:引用第二个左括号以及与之对应的右括号所包括的所有内容

\3:引用第三个左括号以及与之对应的右括号所包括的所有内容

\n:引用第n个左括号以及与之对应的右括号所包括的所有内容

4.命令实例:

1、查找包含某些字符的所有行

grep "root" /etc/passwd

[[email protected] ~]#  grep "root" /etc/passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

2、grep --color 以高亮显示查找到的字符

可以把别名写入配置文档 vim ~/.bashrc1

# .bashrc

# User specific aliases and functions

alias rm=‘rm -i‘

alias cp=‘cp -i‘

alias mv=‘mv -i‘

alias grep=‘grep --color‘

3、grep ‘\([0-9]\).*\1$‘ /test/test1.txt 查找test1.txt文档中必须以前面第一个数字结尾的行

[[email protected] test]# grep ‘\([0-9]\).*\1$‘ /test/test1.txt

2who are you 2

4 youareringt4

5,he is 2tom2

7 eg is over 11

8 thanks you 1and1

[[email protected] test]# cat test1.txt

1,this is helloword!  此处没有以数字结尾

2who are you 2   此处匹配到

3,no 4 is not 2.  此处结尾是以.结尾所以未匹配到

4 youareringt4.   此处结尾是以.结尾所以未匹配到

4 youareringt4   此处匹配到,是以前面出现的数字4结尾

5,he is 2tom2   此处匹配到,是以前面出现的数字2结尾

5,he is 2tom2.   此处结尾是以.结尾所以未匹配到

6 tom is cat4,yes is 4. 此处结尾是以.结尾所以未匹配到

7 eg is over 11.  此处结尾是以.结尾所以未匹配到

7 eg is over 11  此处匹配到,是以前面出现的数字1结尾

8 thanks you 1and1  此处匹配到,是以前面出现的数字1结尾

时间: 2024-10-25 03:19:31

linux命令:grep浅谈的相关文章

linux命令:浅谈shell中如何进行算术运算

1.let 算术运算表达式 let C=$A+$B eg: A=3  B=5  let C=$A+$B    echo $C  [[email protected] test]# A=3 [[email protected] test]# B=3 [[email protected] test]# let C=$A+$B [[email protected] test]# echo $C 6 2.$[算术运算表达式]        C=$[$A+$B] eg: A=2  B=6  C=$[$A+

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 命令grep正则表达式 在linux里面有处理文本的三剑,现在我要说的就是grep正则表达式的使用,正则表达式只是一种表示法,只要工具支持这种表示法,那么该工具就可以处理正则表达式的字符串.vi grep ,awk ,sed 等都支持正则表达式..正则表达式有基本正则表达式和扩展正则表达式. grep默认就是基本表达式. 基本正则表达式: 默认匹配次数:贪婪模式,尽可能多的去匹配. 扩展正则表达式:基于基本正则表达式多加了一些功能,基本一样. 1. grep命令 grep [参数]

Linux特殊符号浅谈

Linux特殊字符浅谈 我们经常跟键盘上面那些特殊符号比如(?.!.~...)打交道,其实在Linux有其独特的含义,大致可以分为三类:Linux特殊符号.通配符.正则表达式. Linux特殊符号又可以分以下几类 1.管道符号 字符 名称 功能描述 | 管道 传递的普通的字符串,来自于前一个命令 |xargs 管道流转换 与xargs 传递的是把字符串变成了文件名 2.目录结构 字符 名称 功能描述 . 当前目录 .. 当前目录上一级目录 3.重定向符号 字符 名称 功能描述 > 输出重定向 会

linux 命令grep

grep命令用来搜索文本,或从给定的文件中搜索行内包含了给定字符串或单词的文件.通常来说,grep显示匹配的行.使用grep来搜索包括一个或多个正则表达式匹配到的文本行,然后只显示匹配到的行. grep命令的语法: grep  ‘word’  文件名 grep  ‘word’  文件1  文件2  文件3 grep  ‘字符串1  字符串2’  文件名 commad  |  grep  ‘ 某个东西 ’ commad  选项1  |  grep  ‘ 数据 ’ grep  --color  ‘数

Linux 命令 - grep: print lines matching a pattern

grep 搜索文本文件中与指定正则表达式匹配的行 命令格式 grep [OPTIONS] PATTERN [FILE...] 命令参数 Generic Program Information --help 打印帮助信息 -V, --version 打印版本信息 Matcher Selection -E, --extended-regexp 使用基本正则表达式(ERE)解释 PATTERN -F, --fixed-strings 每个模式作为一组固定字符串对待(以新行分隔),而不作为正则表达式.

每天一个linux命令-grep

Linux中grep命令是一个强大的文本搜索工具,它能使用正则表达式匹配文件,并将匹配的内容进行打印输出.grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来),他的使用权限是所有用户. 命令格式 grep [option] pattern filename 命令参数 -a,--text : 不要忽略二进制数据 -A,--after-context=NUM: 除了显示符合范本样式的那一列

Linux 命令——grep | 正则表达式

感觉讲的很详细,瞬间懂了grep,正则. from: here 简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. Unix的grep家族包括grep.egrep和fgrep.egrep和fgrep的命令只跟grep有很小不同.egrep是grep的扩展,支持更多的re元字符, fgrep就是fixe

搞搞Linux命令--grep

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