如何用grep显示/etc/ssh/sshd_config中以字母开头的行?
正确提取/etc/ssh/sshd_config中以字母开头的行
你当前使用的命令grep -i 'n*' /etc/ssh/sshd_config不符合需求,n*的正则逻辑是匹配0个或多个大小写的字母n,和“以任意字母开头”的要求完全无关。
正确实现方式
要匹配行首为任意大小写字母的行,需要用精准的正则表达式:
- 基础命令(严格匹配行首第一个字符是字母):
grep '^[a-zA-Z]' /etc/ssh/sshd_config
其中:
^表示匹配行的起始位置[a-zA-Z]表示匹配任意一个大写或小写英文字母可选:如果需要忽略行首的空白字符(空格、制表符等),再匹配字母开头的行,可使用:
grep '^[[:space:]]*[a-zA-Z]' /etc/ssh/sshd_config
这里[[:space:]]*用来匹配0个或多个空白字符。
另外,也可以用-i参数简化正则,效果和上面的基础命令一致:
grep -i '^[a-z]' /etc/ssh/sshd_config
内容的提问来源于stack exchange,提问作者Shafiu shuaibu
相关产品推荐
相关产品推荐

