我正在嘗試識別沒有與我計劃匹配的簽名或根本沒有簽名的 rpm 檔案。我只想在否定匹配上列印 rpm 的名稱。下面的示例和理想輸出(在此示例中我的簽名是 123456):
/a/folder/rpm_valid_signature.rpm:
Header V4 RSA/SHA1 Signature, key ID 123456: OK
Header SHA1 digest: OK (blah)
V4 RSA/SHA1 Signature, key ID 123456: OK
MD5 digest: OK (blah)
/a/folder/rpm_invalid_signature.rpm:
Header V4 RSA/SHA1 Signature, key ID 000000: OK
Header SHA1 digest: OK (blah)
V4 RSA/SHA1 Signature, key ID 000000: OK
MD5 digest: OK (blah)
/a/folder/rpm_unsigned_signature.rpm:
RSA sha1 (MD5) (PGP) md5 NOT OK (MISSING KEYS: PGP#654321)
理想情況下,輸出應該列出無效的匹配項,所以:(/a/folder/rpm_invalid_signature.rpm沒有別的)。我將在 find 命令中使用它,并將腳本指向包含大約 2k rpm 檔案(未簽名或使用無效密鑰簽名)的檔案夾。
希望這是有道理的,感覺像是 awk 或 sed 的作業,但由于檔案中的重復而變得更加復雜。
uj5u.com熱心網友回復:
signature=' key ID 123456:' # or whatever should match
find /a/folder -type f -name '*.rpm' -exec grep -L "$signature" '{}'
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/314574.html
