`
xitong
  • 浏览: 6207208 次
文章分类
社区版块
存档分类
最新评论

linux正则表达式 grep egrep用法

 
阅读更多

shell命令执行的相应顺序

&&

令1 && 命令2如果这个命令1执行成功& &那么执行这个命2

mv myfile myfile2 && echo "if you are seeing this then mv was success!"

||

如果| |左边的命令(命令1)未执行成功,那么就执行| |右边的命令(命令2)

mv myfile myfile2 && echo "if you are seeing this then mv was success! "

从一个审计文件中抽取第1个和第2个域,并将其输出到一个临时文件中,如果这一操作未成功,我希望能够收到一个相应邮件:

awk '{print$1,$2}' test3 >test2 || echo "sorry the extraction didn't work " | mail root

(命令1;命令2;. . .

如果使用{ }来代替(),那么相应的命令将在子s h e l l而不是当前s h e l l中作为一个整体被执行,只有在{ }中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子s h e l l中执行,否则在当前s h e l l执行。

例子:

如果s o r t命令执行成功了,可以先将输出文件备份,然后再打印

test.sorted && (cp test.sorted test.sorted_bak ;lp test.sorted)

经常使用的正则表达式举例

^行首

$行尾

^ [ t h e ]t h e开头行

[ S s ] i g n a [ l L ]匹配单词s i g n a ls i g n a LS i g n a lS i g n a L

[Ss]igna[lL]".同上,但加一句点

[ m a y M A Y ]包含m a y大写或小写字母的行

^ U S E R $只包含U S E R的行

[tty]$t t y结尾的行

" .带句点的行

^ d . . x . . x . . x对用户、用户组及其他用户组成员有可执行权限的目录

^ [ ^ l ]排除关联目录的目录列表

^[^d] ls –l | grep ^[^d]只显示非文件夹的文件

[ . * 0 ] 0之前或之后加任意字符

[ 0 0 0 * ] 0 0 0或更多个

[ iI]大写或小写I

[ i I ] [ n N ]大写或小写in

[ ^ $ ]空行

[ ^ . * $ ]匹配行中任意字符串

^ . . . . . . $包括6个字符的行

[a- zA-Z]任意单字符

[ a - z ] [ a - z ] * 至少一个小写字母

[ ^ 0 - 9 " $ ]非数字或美元标识

[ ^ 0 - 0 A - Z a - z ]非数字或字母

[ 1 2 3 ] 13中一个数字

[ D d ] e v i c e单词d e v i c eD e v i c e

D e . . c e前两个字母为D e,后跟两个任意字符,最后为c e

" ^ q^ q开始行

^ . $仅有一个字符的行

^".[0-9][0-9]以一个句点和两个数字开始的行

' " D e v i c e " ' 单词d e v i c e

D e [ V v ] i c e " . 单词D e v i c ed e v i c e

[ 0 - 9 ] " { 2 " } - [ 0 - 9 ] " { 2 " } - [ 0 - 9 ] " { 4 " }对日期格式d d - m m - y y y y

[ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } I P地址格式

[ ^ . * $ ]匹配任意行

[A-Za-z]*匹配所有单词

常用的g r e p选项

-c只输出匹配行的计数。

-i不区分大小写(只适用于单字符)。

-h查询多文件时不显示文件名。

-l查询多文件时只输出包含匹配字符的文件名。

-n显示匹配行及行号。

-s不显示不存在或无匹配文本的错误信息。

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

例子

grep -v "Sort" tab2显示不包含匹配文本的所有行

grep -n "Sort" tab2显示匹配行及行号

grep -c "Sort" tab2只输出匹配行的计数

精确匹配:grep "01">" tab2

grep -in "code" tab2忽略大小写

多次过滤

grep -in "code" tab2 | grep "02"

使用grep匹配“与”或者“或”模式

g r e p命令加- E参数,这一扩展允许使用扩展模式匹配。例如,要抽取城市代码为2 1 9或2 1 6,方法如下:

grep –E ‘219|216’ tab2

g r e p允许使用国际字符模式匹配或匹配模式的类名形式。

类 等价的正则表达式

[ [ : u p p e r : ] ] [ A - Z ]

[ [ : a l n u m : ] ] [ 0 - 9 a - zA-Z]

[ [ : l o w e r : ] ] [ a - z ]

[ [ : s p a c e : ] ] 空格或t a b

[ [ : d i g i t : ] ] [ 0 - 9 ]

[ [ : a l p h a : ] ] [ a - z A - Z ]

大多数系统管理员称/ d e v / n u l l为比特池,可以将之看成一个无底洞,有进没有出,永远也不会填满。

要查看D N S服务器是否正在运行(通常称为n a m e d),方法如下

ps -ef | grep "name"|grep -v "grep"

e g r e p

e g r e p接受所有的正则表达式,一个显著特性是可以以一个文件作为保存的字符串,然后将之传给e g r e p作为参数,为此使用- f开关。

egrep -f par2 tab2 par2是文件,里面包括各种匹配的具体格式

如果要查询存储代码3 2 L2 C C,可以使用(|)符号,意即“|”符号两边之一或全部。

egrep '(Code|Sort)' tab2

分享到:
评论

相关推荐

    正则表达式grep[global search regular expression]

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

    详解linux正则表达式(基础正则表达式+扩展正则表达式)

    正则表达式应用非常广泛,例如:php,Python,java等,但在linux中最常用的正则表达式的命令就是grep(egrep),sed,awk等,换句话 说linux三剑客要想能工作的更高效,就一定离不开正则表达式的配合。 1、什么是正则...

    linux grep与正则表达式使用介绍

    grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grep、egrep和fgrep。Windows...

    Linux 正则表达式详解

    1.grep : 最早的文本匹配程序,使用POSIX定义的基本正则表达式(BRE)来匹配文本。 2.egrep : 扩展式grep,其使用扩展式正规表达式(ERE)来匹配文本。 3.fgrep : 快速grep,这个版本匹配固定字符串而非正则表达式...

    文本三剑客之grep及正则表达式 -.pdf

    1. Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来(匹配到的标红)。 grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有...

    详解基于Linux下正则表达式(基本正则和扩展正则命令使用实例)

    在本篇博客中,我们使用grep/egrep来完成对正则表达式的调用,其实也可以使用sed等工具,但是sed的使用极大的需要正则表达式,为了在后面sed篇的书写,就只能这样排序了,有需要的朋友可以把这两篇一起来看。...

    浅谈Linux grep与正则表达式

     grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。通常grep有三种版本grep、egrep(等同于grep -E)和fgrep。egrep为扩展的grep,fgrep则为快速grep(固定的字符串来对文本进行...

    正则表达式简介及在C++11中的简单使用教程

    在许多语言中都存在着正则表达式,C++11中也将正则表达式纳入了新标准的一部分,不仅如此,它还支持了6种不同的正则表达式的语法,分别是:ECMASCRIPT、basic、extended、awk、grep和egrep。其中ECMASCRIPT是默认的...

    第二十四章:shell脚本-正则、grep、sed、awk三剑客1

    3.基础正则表达式: ^word 搜索以word开头的 4.扩展的正则表达式:ERE(egrep或grep -E) + 重复一次或一次以上前面的一个字符 5.理

    Linux Grep命令使用的详细介绍

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

    regex-cheatsheet:不同正则表达式语法的备忘单

    然而,命令行工具(grep、less、...)通常使用 POSIX 风格(有时带有扩展变体,例如egrep或sed -r )。 ViM 还带有自己的语法(Vi 接受的超集)。 此备忘单列出了他们各自使用的相应语法。 如果您发现错误或丢失...

    Linux入门(Ubuntu)之文本三剑客(grep)与正则表达式

    egrep是grep的扩展,支持更多的re元字符,fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义。 在关键字的显示方面,grep 可以使用 –color=auto...

    grep awk sed调研文档

    Grep (global search regular [removed]RE) and print out the line,全面搜索正则表达式并 把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印 出来。Grep家族包括Grep、 eGrep...

    linux匹配命令awk、grep、sed简介

    awk本身就是UNIX/Linux的一种编程语言,用于处理数据和生成报告。 awk逐行方式扫描文件(或输入),...Linux使用的GNU grep,基本包含了上述三个grep命令 sed全称stream editor(流编辑器),是非交互式编辑器,能执行

    grep命令调研文档

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

    linux grep 2.5.1源码

    grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep

    grep命令 强大的文本搜索工具

    这个命令可以结合正则表达式使用,它也是linux使用最为广泛的命令。 grep命令的选项用于对搜索过程的补充,而其命令的模式十分灵活,可以是变量、字符串、正则表达式。需要注意的是:一当模式中包含了空格,务必要用...

    Linux系统指令:文件内容查询工具Grep

    Grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。linux使用GNU版本的Grep。它功能更强,可以通过-G、-E、-F命令行选项来使用eGrep和fGrep的功能。Grep的工作方式是这样的,它在一...

    PowerGREP 4.7.0 Retail

    PowerGREP是一款正则表达式应用软件,PowerGREP是grep或egrep的增强版,允许您以直观可视、可撤消的方式,在不同的文件夹内,对不同的文件进行批量的文本搜索、替换。如:软件源代码、信件、服务器或系统日志、参考...

Global site tag (gtag.js) - Google Analytics