次のようなcsvファイルがあります。
entity_name,data_field_name,type
Unit,id
Track,id,LONG
2行目にコンマがありません。これらの行にコンマがない場合に行末にコンマを追加するために、正規表現やawkのようなツールがあるのではないかと思います。
要件が少し曖昧であることを私は知っています。要件を絞り込むには、次のようないくつかの代替方法があります。
どれでも大丈夫だったので、最初は要件を絞り込みませんでした。もちろん、最初の選択肢が最善ですが、これを実装するのが簡単かどうかはわかりませんでした。
すべての素晴らしい回答とコメントをありがとう。次回は、許容できる代替要件を明示的に述べます。
このawkコマンドを使用して、2行目から始まるすべての行を、ヘッダー行の列数に基づく空のセル値で埋めることができます。これにより、列数のハードコーディングを回避できます。
awk 'BEGIN{FS=OFS=","} NR==1{nc=NF} NF{$nc=$nc} 1' file
entity_name,data_field_name,type
Unit,id,
Track,id,LONG
以前の解決策:
awk 'BEGIN{FS=OFS=","} NR==1{nc=NF} {printf "%s", $0;
for (i=NF+1; i<=nc; i++) printf "%s", OFS; print ""}' file
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加