博客
关于我
Linux利用grep配合正则表达式显示非空注释行内容
阅读量:390 次
发布时间:2019-03-05

本文共 634 字,大约阅读时间需要 2 分钟。

在处理/etc/inittab文件时,如果使用了grep命令来筛选注释行,可能会遇到一些空行被误选中的情况。这种问题通常是由于正则表达式不够严格,导致它匹配了看起来像是空行的内容。

为了解决这个问题,可以修改正则表达式,确保只匹配那些有实际内容的注释行。以下是详细的解决方案:

  • 分析当前正则表达式:原来的正则表达式^#[[:blank:]]+[^[:blank:]]+.*用于匹配以#开头,后面跟着一个或多个空格,然后是至少一个非空格字符,后面可以有任意内容的行。然而,这个表达式也会匹配那些仅有#和空格,或者是完全空白的行。

  • 修改正则表达式:为了避免匹配空行,可以修改正则表达式,确保在#后面必须有至少一个空格,然后至少有一个非空格字符。例如,使用^#[[:blank:]]+[^[:blank:]]+.*),这样就能排除掉那些仅有#和空格,或者是完全空白的行。

  • 测试修改后的正则表达式:在终端中执行cat /etc/inittab | grep -E '^#[[:blank:]]+[^[:blank:]]+.*),确认其是否正确筛选出有内容的注释行,而不会误处理空行。

  • 处理特殊情况:如果发现某些行在#后面有空格,但后面没有其他字符,可以考虑使用^#[[:blank:]]+[^[:blank:]]*,这样可以匹配至少一个空格后有零个或多个非空格字符的行,但仍需确认是否符合实际需求。

  • 通过以上步骤,可以确保grep命令正确筛选出有内容的注释行,避免误处理空行。

    转载地址:http://eqkzz.baihongyu.com/

    你可能感兴趣的文章
    Python requirements.txt的使用方法
    查看>>
    Python REST(Web 服务)框架的推荐?
    查看>>
    Python rsa 加密
    查看>>
    Python RSA操作
    查看>>
    Python轻松实现统计学中重要的相关性分析
    查看>>
    Python scrapy 常见问题及解决 【遇到的坑】
    查看>>
    Python Seborn热图数据的动态更新
    查看>>
    Python Seborn绘制空白直方图
    查看>>
    Python Selenium - 获取href值
    查看>>
    Python Selenium实现自动化测试及Chrome驱动使用!
    查看>>
    Python Selenium搭建UI自动化测试框架
    查看>>
    Python Selenium模块详解
    查看>>
    Python selenium爬取影评生成词云图
    查看>>
    python selenium自动化测试报告
    查看>>
    Python selenium自动化测试框架实战 —— 登录测试案例
    查看>>
    Python Selenium设计模式 —— POM
    查看>>
    Python Serial:如何使用 read 或 readline 函数一次读取多个字符
    查看>>
    Python set([]) 如何检查两个对象是否相等?一个对象需要定义哪些方法来自定义它?
    查看>>
    Python setup.py:数据文件无法复制目录:不存在或不是常规文件
    查看>>
    Python setuptools sdist:仅安装版本化文件
    查看>>