正则表达式

  1. 云栖社区>
  2. 博客>
  3. 正文

正则表达式

技术小牛人 2018-03-10 14:16:24 浏览844
展开阅读全文

讲师说这是个难点,所以就把这部分写一下,本人认为通过习题理解会更深刻一些。

1.找出/etc/passwd中的两位或三位数

wKiom1l8TavSriv4AABFdWLNLfE042.png


注意:在做这道题时,一定要锚定词首词尾,锚定词尾因为四位数包含三位数,如下图所示

wKiom1l8TdLBUrLbAABQ_wL87Zc579.png

锚定词首是因为万一所建的用户名中包含数字,如下图所示。

wKioL1l8TfSBOlSRAAAREXs-4nk733.png

2.添加用户bash、testbash、basher、sh、nologin(其shell为/sbin/nologin),找出/etc/passwd用户名同shell名的行。

wKiom1l8UkGyT43IAABUCs4iqfM921.png

在做这道题的时候,我就忽视了下面的情况,主要是当时对词首词尾锚定理解不够深刻。要避免这种情况的出现,也可以加个/来区别。

wKiom1l8UbmgKQJoAABjx6S_gys062.png


3.找出/etc/rc.d/init.d/functions文件中行首为某单词(包括下划线)后面跟一个小括号的行

wKioL1l8VqKxDM3gAABJwZ5HA1U207.png

注意:表示图形小括号的时候要加转义字符\。因为这个,j_0004.gif


4.将此字符串:welcome to magedu linux 中的每个字符去重并排序,重复次数多的排到前面

wKioL1l8WdvyoZlxAABS3KZukhs831.png

这个题的难点是怎样把这句话以单个字母单行显示,这个会了,其他就小菜一碟。


5.使用egrep取出/etc/rc.d/init.d/functions中其基名

wKiom1l8g46QOCuSAAAjYYMfUrI479.png

注意:^放在括号里是“非”的意思放在括号外边是行首的意思。


6.统计last命令中以root登录的每个主机IP地址登录次数

wKiom1l8hYjB2fWOAAAkM1KsBVg086.png

注意:先把root截取出来,再取ip地址。


7.使用正则表达式的时候,使用扩展表达式比较方便,因为很多地方不用加转义字符。另外,"."包含大小写字母,数字和下划线。


本文转自    honeyorange   51CTO博客,原文链接:http://blog.51cto.com/13172732/1952009

网友评论

登录后评论
0/500
评论
技术小牛人
+ 关注