gpg에서 이 출력을 grep할 수 있습니까?

gpg에서 이 출력을 grep할 수 있습니까?

다음 명령을 실행합니다(실제 예):

~$ gpg --edit-key [email protected] showpref quit
(...)
[ultimate] (1). Foo Bar <[email protected]>
     Cipher: AES256, AES192, AES, CAST5, 3DES
     AEAD: 
     Digest: SHA256, SHA1, SHA384, SHA512, SHA224
     Compression: ZLIB, BZIP2, ZIP, Uncompressed
     Features: MDC, AEAD, Keyserver no-modify
     Preferred keyserver: ldap://keyserver.pgp.com
~$

출력을 파이프로 연결하면 | grep작동하지 않습니다.

~$ gpg --edit-key [email protected] showpref quit | grep Compression
(...)
[ultimate] (1). Foo Bar <[email protected]>
     Cipher: AES256, AES192, AES, CAST5, 3DES
     AEAD: 
     Digest: SHA256, SHA1, SHA384, SHA512, SHA224
     Compression: ZLIB, BZIP2, ZIP, Uncompressed
     Features: MDC, AEAD, Keyserver no-modify
     Preferred keyserver: ldap://keyserver.pgp.com
~$

작동하게 하는 방법이 있나요? 예를 들어, 내가 얻고 싶은 결과는 다음과 같습니다.

~$ gpg --edit-key [email protected] showpref quit | grep Compression
     Compression: ZLIB, BZIP2, ZIP, Uncompressed
~$

[편집: 지금까지 시도한 것]:

stderr@steeldriver, @RomeoNinov: 리디렉션으로는 문제가 해결 되지 않을 것 같습니다 . 출력이 gpg되지 않는 것 같습니다 stderr.

기본적으로 gpg는 대화형 명령이지만 실행하면 gpg ... cmd1 cmd2비대화형 명령이 됩니다(예: 의 쉘에서 대화형으로 실행하는 것과 동일 gpg ... showpref quit).showprefquitgpg

@스틸드라이버:

~$ gpg --edit-key [email protected] showpref quit 2> >(grep Compression)
(...)
[ultimate] (1). Foo Bar <[email protected]>
     Cipher: AES256, AES192, AES, CAST5, 3DES
     AEAD: 
     Digest: SHA256, SHA1, SHA384, SHA512, SHA224
     Compression: ZLIB, BZIP2, ZIP, Uncompressed
     Features: MDC, AEAD, Keyserver no-modify
     Preferred keyserver: ldap://keyserver.pgp.com
~$

@romeoninov:

~$ gpg --edit-key [email protected] showpref quit 2>&1| grep Compression
(...)
[ultimate] (1). Foo Bar <[email protected]>
     Cipher: AES256, AES192, AES, CAST5, 3DES
     AEAD: 
     Digest: SHA256, SHA1, SHA384, SHA512, SHA224
     Compression: ZLIB, BZIP2, ZIP, Uncompressed
     Features: MDC, AEAD, Keyserver no-modify
     Preferred keyserver: ldap://keyserver.pgp.com
~$

답변1

해결책은 를 사용하는 것입니다 --batch. 이는 gpg정보를 표준 파일 처리기로 보내는 데 도움이 됩니다.

# gpg  --batch --edit-key [email protected] showpref quit 2>&1 |grep Com
     Compression: ZLIB, BZIP2, ZIP, Uncompressed

관련 정보