Warm tip: This article is reproduced from serverfault.com, please click

regex-如何使用grep命令列出基于点的名称

(regex - How to use grep command to list dot based names)

发布于 2020-12-02 15:06:24

我正在尝试grep一些服务,但它不能完全打印我在寻找的东西。

我在grep字符串中看到的一件事是名称具有点.接名称。

我在下面尝试,但没有得到想要的输出。

# systemctl list-unit-files | egrep -w "autofs.service|sssd.service"
autofs.service                                disabled
sssd-autofs.service                           indirect
sssd.service                                  disabled

或者

# systemctl list-unit-files | egrep "autofs|sssd[.service]"
autofs.service                                disabled
sssd-autofs.service                           indirect
sssd.service                                  disabled
sssd-autofs.socket                            disabled

预期产量:

# systemctl list-unit-files | egrep -w "autofs.service|sssd.service"
autofs.service                                disabled
sssd.service                                  disabled
Questioner
kulfi
Viewed
0
Wiktor Stribiżew 2020-12-02 23:10:44

你可以使用

grep -E '^(sssd|autofs)\.service'

这里,

  • ^ -字符串开始
  • (sssd|autofs) -与两个子字符串之一匹配的组
  • \.service-.service子字符串。

观看在线演示