シェル結果を列のExcelファイルに変換

シェル結果を列のExcelファイルに変換

次の結果を提供するシェルスクリプトを実行しており、結果をExcelの他の列(ホスト、状態、有効期限、日)に保存したいと思います。 Excelにどのように変換しますか?

Host                                            Status       Expires      Days
----------------------------------------------- ------------ ------------ ----
FILE:certs/dnscert.crt                          Valid        Aug  4, 2021  359

ベストアンサー1

サンプル入力を変更します。

$ cat input
Host                                            Status       Expires      Days
----------------------------------------------- ------------ ------------ ----
FILE:certs/dnscert1.crt                         Valid        Aug  1, 2020  7
FILE:certs/dnscert2.crt                         Invalid      Aug  4, 2021  359
FILE:certs/dnscert3.crt                         Valid        Aug  4, 2021  359

次に、次のawkコマンドを適用すると、次のような結果が得られます。

$ awk 'NR > 2 { print $1 "," $2 ",\"" $3, $4, $5 "\"," $6}' input
FILE:certs/dnscert1.crt,Valid,"Aug 1, 2020",7
FILE:certs/dnscert2.crt,Invalid,"Aug 4, 2021",359
FILE:certs/dnscert3.crt,Valid,"Aug 4, 2021",359

日付フィールドは、常に月、日、年の3つのトークンであると仮定します。

NR > 2最初の2行(ヘッダーと区切り記号)をスキップします。残りは、間にカンマ区切りのフィールドを印刷し、日付フィールドを引用するときに注意してください。

おすすめ記事