linux正则表达式 grep egrep用法

来源:互联网 发布:搜索引擎优化广告 编辑:程序博客网 时间:2024/06/04 18:09

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

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机总是弹出日历已停止运行怎么办 华为mate8忘了锁屏密码怎么办 红米4a打王者卡怎么办 苹果5s软件更新密码忘记了怎么办 华为荣耀P9进水了没有声音怎么办 华为荣耀7原相机不能拍照怎么办 华为手机触屏密码忘记了怎么办 华为荣耀10屏锁密码忘了怎么办 华为手机开机卡在开机界面怎么办 苹果6s国行不能用移动4g怎么办 苹果手机32g内存不够用怎么办 华为荣耀6x忘记了密码怎么办 百度粉色衣服被洗变色了怎么办 粉色衣服放进洗衣机洗变色了怎么办 红米note5a应用锁忘了怎么办 索尼手机死机了怎么办不可拆卸电池 华为手机一直停留在开机画面怎么办 5s用11.4太卡了怎么办 华为荣耀5a手机声音小怎么办 牙签卡在手机插卡针里怎么办 捡的华为手机账号激活不了怎么办 华为平板激活手机密码忘了怎么办 捡个华为手机非要激活才能用怎么办 华为手机没激活想重新激活怎么办 华为手机激活总显示系统繁忙怎么办 华为荣耀7i进水了不开机怎么办 华为荣耀手机进水了怎么办开不开机 华为畅享5s变砖怎么办 我的苹果7机身内存满了怎么办 小米5x拆机后屏幕翘边怎么办 苹果手机设备禁止游戏登入怎么办 苹果7plus玩游戏掉频怎么办 孕期牙套子掉了基牙烂掉了怎么办 美团绑定的信用卡过期了怎么办 苹果6s手机开不开机怎么办 换了散热硅胶后还是死机怎么办 华为畅享6s掉啦怎么办 透明塑料壳被太阳晒的发黄怎么办 新买的手机壳有味道怎么办 刚买的手机壳有异味怎么办 bjd 光油把妆蹭掉了一点怎么办