AWKはテキスト処理には便利なツールで、項目区切りにカンマを指定(FS=",")すれば、簡単な CSV ファイルを処理できます。 しかしながら、RFC4180 の規格上の CSV ファイルでは、二重引用符で囲むことで区切り文字や改行コードを要素の中に含めることが出来ます。これを AWK で処理するのは一般に難しいとされています。 これに対して、最近の gawk では「二重引用符で囲まれたカンマ」については、区切り文字列ではなく、要素のパターンを指定する(FPAT="([^,]+)|(\"[^\"]+\")")ことで処理できるようになりました。あとは改行コードだけです。 本文書では、これを外部ツールの補助なしに gawk 5 のコードだけで処理する方法を説明します。 方針 改行コードが要素に含まれている場合、純粋なテキストファイル的に見ると、その行の二重引用符が閉じられていないように見える