grep命令的输出并显示与字符串匹配的所有行
grep output of command and display all lines that match a string
我正在尝试通过以下命令显示所有已禁用的帐户:
ipa user-find --all
命令的基本输出显示如下:
dn: uid=johnd,cn=users,cn=accounts,dc=mydomain,dc=com
User login: johnd
First Name: John
Last Name: Doe
Full Name: John Doe
Home directory: /home/johnd
GECOS field: John Doe
Login shell: /bin/bash
Kerberos principal: johnd@DOMAIN.COM
Email address: johnd@domain.com
UID: 501
GID: 1022
Account disabled: True
Password: True
Member of groups: ipausers
Kerberos keys available: False
ipauniqueid: 75732ha-482x82l-13xa-d820-0120xbba142
objectclass: ipaobject, krbticketpolicyaux, etc.
如果我运行:
ipa user-find --all | grep "Account disabled: True"
我会得到:
Account disabled: True
Account disabled: True
Account disabled: True
Account disabled: True
对于所有禁用的帐户。有没有办法让它显示匹配 "Account disabled: True"
的所有字段?
ipa-user-find --all | grep "Account disabled: True" -B12 -A5
-B
是之前的行数,-A
是之后的行数。可能有更优雅的解决方案,但目前有效。
如果您只需要每个已禁用帐户的全名,只需将您的结果传递给另一个 grep 命令
以及一个不依赖于顺序的 awk 解决方案 and/or 所有属性的存在 [并且根据我对 ldif 的了解,我会安全地假设 DN: 总是在第一行]:
awk 'BEGIN{RS="\n\n";FS="\n"}/Account disabled: True/{print }'
我正在尝试通过以下命令显示所有已禁用的帐户:
ipa user-find --all
命令的基本输出显示如下:
dn: uid=johnd,cn=users,cn=accounts,dc=mydomain,dc=com
User login: johnd
First Name: John
Last Name: Doe
Full Name: John Doe
Home directory: /home/johnd
GECOS field: John Doe
Login shell: /bin/bash
Kerberos principal: johnd@DOMAIN.COM
Email address: johnd@domain.com
UID: 501
GID: 1022
Account disabled: True
Password: True
Member of groups: ipausers
Kerberos keys available: False
ipauniqueid: 75732ha-482x82l-13xa-d820-0120xbba142
objectclass: ipaobject, krbticketpolicyaux, etc.
如果我运行:
ipa user-find --all | grep "Account disabled: True"
我会得到:
Account disabled: True
Account disabled: True
Account disabled: True
Account disabled: True
对于所有禁用的帐户。有没有办法让它显示匹配 "Account disabled: True"
的所有字段?
ipa-user-find --all | grep "Account disabled: True" -B12 -A5
-B
是之前的行数,-A
是之后的行数。可能有更优雅的解决方案,但目前有效。
如果您只需要每个已禁用帐户的全名,只需将您的结果传递给另一个 grep 命令
以及一个不依赖于顺序的 awk 解决方案 and/or 所有属性的存在 [并且根据我对 ldif 的了解,我会安全地假设 DN: 总是在第一行]:
awk 'BEGIN{RS="\n\n";FS="\n"}/Account disabled: True/{print }'