8-28 正则表达式练习题

练习:

  1. 显示/etc/passwd文件中以bash结尾的行;

正则表达式:  #grep ‘\(bash\)\>’/etc/passwd

扩展正则表达式  #egrep ‘(bash)\>’/etc/passwd

  1. 显示/etc/passwd文件中的两位数或三位数;

正则表达式:#grep -o ‘[0-9]\{2,3\}‘ /etc/passwd

扩展正则表达式:# egrep -o ‘[0-9]{2,3}‘ /etc/passwd

  1. 显示‘netstat–tan ’命令结果中以‘LISTEN’后跟0个、1个或多个空白字符结尾的行;

正则表达式:# netstat -tan|grep ‘\(LISTEN\)[[:space:]]\?\+‘

扩展正则表达式:# netstat -tan|egrep ‘(LISTEN)[[:space:]]?+‘

  1. 添加用户bash,testbash,basher以及nologin用户(nologin用户的shell为/sbin/nologin);而后找出/etc/passwd文件中用户名同shell名的行;

正则表达式:# grep ‘^\(.*\):.*\1$‘ /etc/passwd

扩展正则表达式:# egrep ‘^(.*):.*\1$‘ /etc/passwd

扩展正则表达式练习题:

  1. 显示当前系统上root、centos或user1用户的默认shell和UID;

    # egrep ‘^(root):|(centos):|(user1):‘ /etc/passwd |cut -d:-f3,7

  2. 找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行;

    正则表达式:# grep ‘\([[:alpha:]]\{1,\}_\{0,\}[[:alpha:]]\{1,\}\)()‘/etc/rc.d/init.d/functions

    扩展正则表达式:#egrep ‘([[:alpha:]]{1,}_{0,}[[:alpha:]]{1,})\(\)‘ /etc/rc.d/init.d/functions

  3. 使用echo输出一个路径,而后egrep找出其路径基名;

进一步地:使用egrep取出其目录名

取基名:

#echo /etc/sysconfig/network-scripts/ifcfg-eth0|egrep -o  ‘[[:alnum:]]+$‘

# echo/etc/sysconfig/network-scripts/ifcfg-eth0/ |egrep -o  ‘[[:alnum:]]+/?$‘

取路径名

# echo/etc/sysconfig/network-scripts/ifcfg-eth0 |egrep -o  ‘^.*+/‘

  1. 找出ifconfig命令执行结果中1-255之间的数字

    #ifconfig|egrep -o ‘[1-9]|[1-9][0-9]|[1-2][0-5][0-5]‘

时间: 2024-10-10 02:57:47

8-28 正则表达式练习题的相关文章

正则表达式练习题集(附答案)

  前言 好久到没有去写关于正则表达式的总结了,虽然自己写了一些关于正则表达式的东西.但是 感觉上对正则表达式还停留在网上查找的阶段,对于大部分的人来说,很难写自己的正则表达式 对于正则表达式笔者也做过相关的总结.呃,过了一段时间还是模糊了.因此找一些练习题来找 回自己的记忆. 需要说明的是这些练习题有的是网上的! 初级练习 1.求非负整数 : ^\d+$ Tips:需要注意的是这个匹配模式为多行模式下进行的 2.匹配正整数: ^[1-9]*[1-9][0-9]*$ 在网上也有这种写法的 ^[0

11.28 正则表达式

匹配中文字符的正则表达式:程序代码[\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):程序代码[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:程序代码\n\s*\r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:程序代码<(\S*?)[^>]*>.*?|<.*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分

正则表达式练习题

Example1.显示/etc/passwd文件中不以/bin/bash结尾的行: ~]# grep -v "/bin/bash$" /etc/passwd ~]# grep -v "/bin/bash\>" /etc/passwd Example2.找出/etc/passwd文件中的两位数或三位数: [[email protected] ~]# grep "[0-9]\{2,3\}" /etc/passwd mail:x:8:12:mai

正则表达式练习题(2)

//从字符串"LOVOT90班20111208"中提取开班日期 String a = "LOVOT90班20111208"; String substr = a.substring(8,16); System.out.println("开班日期是:"+substr); //将"LOVO JAVA"字符串中的"JAVA"替换为"J2EE". String b= "LOVO JAV

Linux之特殊符号与正则表达式

Linux中常用的特殊符号 '' 所见即所得,吃啥吐啥 "" 特殊符号会被解析运行 `` ==== $() 先运行里面的命令 把结果留下 > 重定向符号 先清空文件的内容 然后追加文件的最后 >> 追加重定向 追加文件的最后 2> 错误重定向 只有错误的信息 才会通过这个漏洞进入文件中 2>> 错误追加重定向 ~ 当前用户的家目录 root ~ /root oldboy ~ /home/oldboy ! 查找并运行历史命令 !awk 包含awk的命令

.Net基础加强09

正则表达式练习题: #region 1.匹配IP地址,4段用.分割的最多三位数字. 192.168.54.77.333.333.333.333假设都是正确的. while (true) { Console.WriteLine("请输入ip:"); string ip = Console.ReadLine(); bool b = Regex.IsMatch(ip, @"^([0-9]{1,3}\.){3}[0-9]{1,3}$"); Console.WriteLine

linux基础学习-18-linux三剑客之awk命令精讲

快捷跳转目录: * 第1章:awk基础入门       * 1.1:awk简介 * 1.2:学完awk你可以掌握: * 1.3:awk环境简介 * 1.4:awk的格式 * 1.5:模式动作 * 1.6:awk的执行过程 * 1.6.1:小结awk执行过程 * 1.7:记录和字段 * 1.7.1:记录(行) * 1.7.2:记录分隔符-RS * 1.7.3:对$0的认识 * 1.7.4:企业面试题 * 1.7.5:awk记录知识小结 * 1.7.6:字段(列) * 1.7.7:ORS与OFS简介

计算机组成与体系结构重点(四川大学软件学院)

四川大学软件学院计算机组成期末考试由任课教师按照教学大纲出题,采用闭卷考试的方法, 英语出题.加▲表示重点,考的概率极大.本概念集合由笔者参照课本,往年真题以及老师说的重点编写. 第一章 引言 1.  ▲指令集体体系结构(ISA):ISA是在机器上运行的所有软件和执行这些软件的硬件之间的协定接口. 2.  ▲硬件软件等效性:一切硬件可以实现的软件也可以实现反之亦然 3.  ▲计算机3个组成部分:处理器,储存器,I/O设备 4.  摩尔定律:硅芯片的密度每18个月翻一番 5.  Rock定律:制造

历经5年锤炼(史上最适合初学者入门的Java基础视频)--视频列表

\JavaSE基础视频01\01-计算机语言概述.avi;\JavaSE基础视频01\02-Java语言的跨平台原理(JVM).avi;\JavaSE基础视频01\03-Java语言(JDK&JRE).avi;\JavaSE基础视频01\04-Java语言(JDK的下载与安装).avi;\JavaSE基础视频01\05-Java语言(JDK中的命令行工具).avi;\JavaSE基础视频01\06-Java语言(命令行简介).avi;\JavaSE基础视频01\07-Java语言(环境变量配置)