例:
次のデータを含むファイルがあります。
cvrta2100 Error 404 Fixed
cvrta2111 Licensed Needs Fixing
cvrta2123 Error 404 Fixed
cvrta2333 Licensed Needs Fixing
私はawk
この出力をExcelファイルとして印刷するために使用します。
awk 'BEGIN{ OFS="|"; print "Hosts|Output|Status"}; NR > 1{print $1, $2, $3, $4, $5, $6, $7, $8, $9;}' input.txt > Output.xls
問題は、単一のセルでのみ結果が得られることです。つまり、" cvrta2333 Licensed Needs Fixing
"はすべて単一のセルに印刷されます。
私の質問:各単語「ホスト」、「出力」、「ステータス」を別のセルに印刷できますか?すなわち、cvrta2333
(1セル)Licensed
(次セル) Needs Fixing
(次セル)
答え1
このような「単純な」列の場合、コンマで区切られた値はExcelでよく開きます。
awk 'BEGIN{ OFS=","; print "Hosts,Output,Status"}; NR > 1{print $1, $2, $3, $4, $5, $6, $7, $8, $9;}' input.txt > Output.csv
答え2
Excelからファイルをインポートする場合は、「テキストを表にする」機能(または何と呼ぶか)を使用して、スペース区切り文字を使用して行を列に分割できます。
Excelがどのように反応するかはわかりませんが、次のコマンドを使用してファイルをタブまたはカンマ区切りの単語を含むファイルに変換できます。ティー、
$ tr \ \\t < input > output
$ tr \ , < input > output
ログファイルのテキストにカンマを引用する必要があるため、Excelを幸せにする唯一のものではない場合は、CSVを離れます。