跳到主要内容

显示/etc/inittab中以#开头,且后面跟了一个或者多个空白字符,而后又跟了任意非空白字符的行 ?

参考答案:

要显示/etc/inittab文件中以#开头,后面跟着一个或多个空白字符,然后又跟着任意非空白字符的行,你可以使用grep命令结合正则表达式来实现。

以下是相应的grep命令:

grep '^\s*#\s\+[^[:space:]]' /etc/inittab

解释:

  • ^:表示行的开头。
  • \s*:表示零个或多个空白字符(包括空格、制表符等)。
  • #:表示#字符本身。
  • \s\+:表示一个或多个空白字符。注意这里的+前面有一个反斜杠,是因为在正则表达式中+是一个特殊字符,表示“一个或多个前面的元素”。而我们要匹配的是字面上的+字符,所以需要对其进行转义。但在这里,可能是一个错误,因为我们实际上想要匹配的是“一个或多个空白字符”,所以应该使用\s+而不是\s\+
  • [^[:space:]]:表示任意一个非空白字符。[[:space:]]是一个字符类,匹配任何空白字符。^在字符类的开头表示“非”,所以[^[:space:]]匹配任何非空白字符。

修正后的命令应该是:

grep '^\s*#\s+[^[:space:]]' /etc/inittab

这个命令会匹配以零个或多个空白字符开头,然后是#字符,再后面是一个或多个空白字符,最后是一个非空白字符的行。