Como usar grep para determinado atributo do openldap?

Como usar grep para determinado atributo do openldap?

Estou usando o openldap e normalmente usarei o comando ldapsearch uid=<ldap> +para verificar determinados atributos e, ao executar esse comando, ele produzirá uma saída completa, por exemplo:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
lastLoginTime: 20220829012233Z
passwordRetryCount: 0
retryCountResetTime: 20220826111616Z
passwordExpWarned: 0
passwordExpirationTime: 20220905092802Z
pwdUpdateTime: 20220707092802Z
modifyTimestamp: 20220707092802Z

Se, por exemplo, eu quiser usar apenas "retryCountResetTime", tento executar:

ldapsearch uid=<ldap> + | grep ^retryCountResetTime

Mas a saída será:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
retryCountResetTime: 20220826111616Z

Gostaria de remover as 3 primeiras linhas (SASL) adicionando tail -1, mas não funciona.

Alguma sugestão de como posso remover a linha 1-3?

Responder1

Como@steeldrivermencionado dentro docomentários:

Talvez as três primeiras linhas não estejam indo para o fluxo de saída padrão, mas para o fluxo de erro padrão?

Para verificar se você pode redirecionar o canal STDERR para algum outrolugar, por exemplo, o dispositivo nulo adicionando 2>/dev/nullno final do comando:

command -options arguments 2>/dev/null | grep 'something'

Se quiser processá-lo, você pode redirecioná-lo para STDOUT adicionando 2>&1:

command -options arguments 2>&1 | grep 'something'

Observe que se você deseja redirecionar STDERR junto com STDOUT para um arquivo, a sintaxe é:

command -options arguments >/path/to/some.log 2>&1

informação relacionada