博客
关于我
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/

    你可能感兴趣的文章
    PHPCMS多文件上传和上传数量限制
    查看>>
    phpEnv的PHP集成环境
    查看>>
    PHPExcel导入导出 若在thinkPHP3.2中使用(无论实例还是静态调用(如new classname或classname::function)都必须加反斜杠,因3.2就命名空间,如/c...
    查看>>
    PHPMailer发送邮件
    查看>>
    phpmailer发送邮件,可以带附件
    查看>>
    phpmyadmin 安装
    查看>>
    phpmyadmin数据库建表及插入
    查看>>
    phprpc简单使用
    查看>>
    phpstorm中Xdebug的使用
    查看>>
    phpstorm配置php脚本执行
    查看>>
    phpStudy安装教程
    查看>>
    phpunit
    查看>>
    phpwind部署问题
    查看>>
    PHP__call __callStatic
    查看>>
    php一句话图片运行,【后端开发】php一句话图片木马怎么解析
    查看>>
    php上传文件找不到临时文件夹
    查看>>
    PHP下curl用法分析
    查看>>
    redis事务操作
    查看>>
    PHP中array_merge和array相加的区别分析
    查看>>
    PHP中dirname(__FILE__)的意思
    查看>>