正規表現を使用して、必要に応じてcsvファイルにコンマを追加する

Nuhogluだから

次のようなcsvファイルがあります。

entity_name,data_field_name,type
Unit,id
Track,id,LONG

2行目にコンマがありません。これらの行にコンマがない場合に行末にコンマを追加するために、正規表現やawkのようなツールがあるのではないかと思います。

更新

要件が少し曖昧であることを私は知っています。要件を絞り込むには、次のようないくつかの代替方法があります。

  1. ヘッダー行は、ファイル全体に有効な列数(およびコンマ)を定義する必要があります。スクリプトは最初にヘッダー行を読み取り、正しい列数を見つける必要があります。
  2. 列の数は、引数としてスクリプトに渡される場合があります。
  3. 列の数は、スクリプトにハードコーディングできます。

どれでも大丈夫だったので、最初は要件を絞り込みませんでした。もちろん、最初の選択肢が最善ですが、これを実装するのが簡単かどうかはわかりませんでした。

すべての素晴らしい回答とコメントをありがとう。次回は、許容できる代替要件を明示的に述べます。

anubhava

この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]

編集
0

コメントを追加

0

関連記事

分類Dev

正規表現を使用してファイルの名前を変更する(Linuxコマンドライン)

分類Dev

正規表現を使用してファイルの名前を変更する(Linuxコマンドライン)

分類Dev

正規表現を使用してコマンドラインでファイルを削除するにはどうすればよいですか?

分類Dev

mmapを使用してファイル全体に正規表現を適用する

分類Dev

gitcheckoutコマンドで正規表現を使用してファイルサブセットを指定する方法

分類Dev

Javaを使用して正規表現に基づいてファイルをトークンに分割する方法

分類Dev

区切り文字としてコンマを使用してCSVファイルの正規表現を使用してデータ列の位置を変更するにはどうすればよいですか?

分類Dev

余分なコンマを含むパンダを含むcsvファイルをインポートするときに、正規表現を区切り文字として使用するにはどうすればよいですか?

分類Dev

正規表現を使用してファイルからデータを抽出し、リストに格納して辞書にコンパイルする-python

分類Dev

正規表現を使用してファイル名の末尾にあるバージョン番号を抽出する

分類Dev

値自体にコンマを含むPerlでcsvファイルを処理するために必要な正規表現ヘルプ

分類Dev

xmlファイルで値を見つけるには正規表現コマンドが必要です

分類Dev

正規表現を使用してファイル名にアンダースコアのないファイルを検索する

分類Dev

Python:正規表現パターンを再帰的に使用してファイルのパス名を取得する

分類Dev

正規表現を使用してvimの数字の間にコンマを挿入します(コンマがフィルタリングされたcsvファイルを回復します)

分類Dev

正規表現を使用してコンマで区切られた数字のみで構成されるCSVファイルの特定の数字/フィールドを照合するにはどうすればよいですか?

分類Dev

正規表現を使用してファイルをsedに置き換える

分類Dev

同じ行にコンマを使用して複数の正規表現の一致を出力する方法

分類Dev

正規表現を使用してRのcsvファイルをクリーンアップする

分類Dev

CSVファイルからフェッチしたBodyDataを使用して正規表現変数をマッピングする方法

分類Dev

正規表現、変数、文字列を使用してファイルを新しいファイルgsubにコピーする問題がありますか?

分類Dev

2つのファイルを使用しているときにgrepで正規表現を使用する

分類Dev

コメントにある場合、正規表現を使用して EDI ファイルからセグメントを置き換えますか?

分類Dev

正規表現を使用して、変数に存在する同様のタイトルのファイル名と一致させる必要があります

分類Dev

フォルダーを追加せずに、bashスクリプトのファイルから正規表現を使用してGrepを実行する

分類Dev

vs-code:正規表現を使用して開いている複数のファイルにテキストを追加しますか?

分類Dev

Matlab / Octave regexprep(正規表現replace)を使用して、拡張子の前にファイル名にサフィックスを追加する方法

分類Dev

Javaで正規表現を使用してテキストファイルをブロックに分割する

分類Dev

Pythonで正規表現を使用してテキストファイルを単語に分割する

Related 関連記事

  1. 1

    正規表現を使用してファイルの名前を変更する(Linuxコマンドライン)

  2. 2

    正規表現を使用してファイルの名前を変更する(Linuxコマンドライン)

  3. 3

    正規表現を使用してコマンドラインでファイルを削除するにはどうすればよいですか?

  4. 4

    mmapを使用してファイル全体に正規表現を適用する

  5. 5

    gitcheckoutコマンドで正規表現を使用してファイルサブセットを指定する方法

  6. 6

    Javaを使用して正規表現に基づいてファイルをトークンに分割する方法

  7. 7

    区切り文字としてコンマを使用してCSVファイルの正規表現を使用してデータ列の位置を変更するにはどうすればよいですか?

  8. 8

    余分なコンマを含むパンダを含むcsvファイルをインポートするときに、正規表現を区切り文字として使用するにはどうすればよいですか?

  9. 9

    正規表現を使用してファイルからデータを抽出し、リストに格納して辞書にコンパイルする-python

  10. 10

    正規表現を使用してファイル名の末尾にあるバージョン番号を抽出する

  11. 11

    値自体にコンマを含むPerlでcsvファイルを処理するために必要な正規表現ヘルプ

  12. 12

    xmlファイルで値を見つけるには正規表現コマンドが必要です

  13. 13

    正規表現を使用してファイル名にアンダースコアのないファイルを検索する

  14. 14

    Python:正規表現パターンを再帰的に使用してファイルのパス名を取得する

  15. 15

    正規表現を使用してvimの数字の間にコンマを挿入します(コンマがフィルタリングされたcsvファイルを回復します)

  16. 16

    正規表現を使用してコンマで区切られた数字のみで構成されるCSVファイルの特定の数字/フィールドを照合するにはどうすればよいですか?

  17. 17

    正規表現を使用してファイルをsedに置き換える

  18. 18

    同じ行にコンマを使用して複数の正規表現の一致を出力する方法

  19. 19

    正規表現を使用してRのcsvファイルをクリーンアップする

  20. 20

    CSVファイルからフェッチしたBodyDataを使用して正規表現変数をマッピングする方法

  21. 21

    正規表現、変数、文字列を使用してファイルを新しいファイルgsubにコピーする問題がありますか?

  22. 22

    2つのファイルを使用しているときにgrepで正規表現を使用する

  23. 23

    コメントにある場合、正規表現を使用して EDI ファイルからセグメントを置き換えますか?

  24. 24

    正規表現を使用して、変数に存在する同様のタイトルのファイル名と一致させる必要があります

  25. 25

    フォルダーを追加せずに、bashスクリプトのファイルから正規表現を使用してGrepを実行する

  26. 26

    vs-code:正規表現を使用して開いている複数のファイルにテキストを追加しますか?

  27. 27

    Matlab / Octave regexprep(正規表現replace)を使用して、拡張子の前にファイル名にサフィックスを追加する方法

  28. 28

    Javaで正規表現を使用してテキストファイルをブロックに分割する

  29. 29

    Pythonで正規表現を使用してテキストファイルを単語に分割する

ホットタグ

アーカイブ