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

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

  • 显示 /etc/inittab 文件中以 ‘#’ 号后跟着一个或多个空白字符开头并且之后是任意个非空白字符的行
  • 查看/etc/inittab的内容
[04:16:42 rooter@C8-3-55 ~]#cat /etc/inittab# inittab is no longer used.## ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.## Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target## systemd uses 'targets' instead of runlevels. By default, there are two main targets:## multi-user.target: analogous to runlevel 3# graphical.target: analogous to runlevel 5## To view current default target, run:# systemctl get-default## To set a default target, run:# systemctl set-default TARGET.target
  • 显示#开头的注释行
[04:17:54 rooter@C8-3-55 ~]#cat /etc/inittab | grep ^## inittab is no longer used.## ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.## Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target## systemd uses 'targets' instead of runlevels. By default, there are two main targets:## multi-user.target: analogous to runlevel 3# graphical.target: analogous to runlevel 5## To view current default target, run:# systemctl get-default## To set a default target, run:# systemctl set-default TARGET.target
  • 敲错了啥都不显示
    没有加-E不支持正则表达式
[04:19:33 rooter@C8-3-55 ~]#cat /etc/inittab | grep ^#[[:blank:]]+[04:20:28 rooter@C8-3-55 ~]#cat /etc/inittab | grep '^#[[:blank:]]+'
  • 显示#开头,其后是一个或多个空格的行
[04:20:38 rooter@C8-3-55 ~]#cat /etc/inittab | grep -E '^#[[:blank:]]+'# inittab is no longer used.# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target# systemd uses 'targets' instead of runlevels. By default, there are two main targets:# multi-user.target: analogous to runlevel 3# graphical.target: analogous to runlevel 5# To view current default target, run:# systemctl get-default# To set a default target, run:# systemctl set-default TARGET.target
  • 显示#开头之后是1个或多个空格,之后是非空格的行
[04:21:06 rooter@C8-3-55 ~]#cat /etc/inittab | grep -E '^#[[:blank:]]+[^[:blank:]]+'# inittab is no longer used.# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target# systemd uses 'targets' instead of runlevels. By default, there are two main targets:# multi-user.target: analogous to runlevel 3# graphical.target: analogous to runlevel 5# To view current default target, run:# systemctl get-default# To set a default target, run:# systemctl set-default TARGET.target
  • 显示#开头,之后是一个或多个空格,然后是非空格及任意字符的行
[04:21:56 rooter@C8-3-55 ~]#cat /etc/inittab | grep -E '^#[[:blank:]]+[^[:blank:]]+.*'# inittab is no longer used.# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target# systemd uses 'targets' instead of runlevels. By default, there are two main targets:# multi-user.target: analogous to runlevel 3# graphical.target: analogous to runlevel 5# To view current default target, run:# systemctl get-default# To set a default target, run:# systemctl set-default TARGET.target

问题:

  • #号开头之后紧跟着1个以上空格的及任意字符的行,为啥把#后跟空行也过滤掉了?
    空行被过滤掉了

回答:

  • 看起来像#空行,但人家直接#$就结束了!
  • 所以用一个以上blank就把看起来像空行的过滤掉了
    假空行

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

你可能感兴趣的文章
NCNN源码学习(1):Mat详解
查看>>
nc命令详解
查看>>
NC综合漏洞利用工具
查看>>
ndarray 比 recarray 访问快吗?
查看>>
ndk-cmake
查看>>
NdkBootPicker 使用与安装指南
查看>>
ndk特定版本下载
查看>>
NDK编译错误expected specifier-qualifier-list before...
查看>>
Neat Stuff to Do in List Controls Using Custom Draw
查看>>
Necurs僵尸网络攻击美国金融机构 利用Trickbot银行木马窃取账户信息和欺诈
查看>>
Needle in a haystack: efficient storage of billions of photos 【转】
查看>>
NeHe OpenGL教程 07 纹理过滤、应用光照
查看>>
NeHe OpenGL教程 第四十四课:3D光晕
查看>>
Neighbor2Neighbor 开源项目教程
查看>>
neo4j图形数据库Java应用
查看>>
Neo4j图数据库_web页面关闭登录实现免登陆访问_常用的cypher语句_删除_查询_创建关系图谱---Neo4j图数据库工作笔记0013
查看>>
Neo4j图数据库的介绍_图数据库结构_节点_关系_属性_数据---Neo4j图数据库工作笔记0001
查看>>
Neo4j图数据库的数据模型_包括节点_属性_数据_关系---Neo4j图数据库工作笔记0002
查看>>
Neo4j安装部署及使用
查看>>
Neo4j电影关系图Cypher
查看>>