2つの証明書を含む証明書ファイルがあります。で始まり、---BEGIN CERTIFICATE--
で終わります---END CERTIFICATE----
。
例:
---BEGIN CERTIFICATE--
blah1 blah1
---END CERTIFICATE----
---BEGIN CERTIFICATE--
blah2 blah2
---END CERTIFICATE----
2番目のグループを別のファイルにコピーしたいです。
次のコマンドを試しましたが、sed
証明書がpublic.cer
。
sed -n '/BEGIN CERTIFICATE/,/END CERTIFICATE/w public.cer' intermediate.cer
2番目の証明書のみを新しいファイルにコピーするにはどうすればよいですか?
ベストアンサー1
そしてawk
範囲モード:
awk '/BEGIN CERTIFICATE/ && ++c==2,/END CERTIFICATE/' intermediate.cer > public.cer
文書の内容public.cer
:
---BEGIN CERTIFICATE--
blah2 blah2
---END CERTIFICATE----
ㅏ範囲モード形式でコンマで区切られた2つのパターンで構成されていますbegpat, endpat
。連続した入力レコードの範囲を一致させるために使用されます。最初のパターンは、begpat
範囲の開始位置を制御するときにendpat
パターンの終了位置も制御します。カウンタは、c
一致する各行でインクリメントされ確認されます/BEGIN_CERTIFICATE/
。