私は、行を含むファイル(サイズが非常に大きい)を持っていて、各行にカンマで区切られたいくつかのフィールドがあります。awkユーティリティを使用して実装するシナリオ
このファイルから、いくつかのフィールドを抽出して新しい行にダンプする必要があります。しかし、ここで問題となるのは、最後の1つのフィールド(列)自体にカンマが含まれていますが、その特定のフィールドは二重引用符「some、thing」で示されています。
は私が例を挙げてみましょう: -
the, quick, brown, fox, jumps, right, over, the little, "lazy,dog"
コンマで区切られているこのファイルの多くのそのような行があります。
その最後の列の中に多くのカンマがあるかもしれません、
は、今私は最後のものは確かに私が抽出したいされているため、そこからいくつかの列を抽出する必要があります。
私はawkを使うと思っていましたが、awkには区切り文字の区切りに制限がないようです。
pythonにはsplit()関数があり、ここではnoを制限できます。文字列の最後のインデックスに入ります。 012 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
また、二重引用符は最終出力から削除する必要があります。
私はawkを使用しようとしていました。awkは大容量のファイル処理に関しては私にとっては高速です。しかし、そのような種類のものを実装することは可能ですか、それは少し遅くなるように見えるループと分割のpythonicの方法で行く必要があります。
注: 1)の列は固定されています。
お勧めします。
「怠け者の犬」の「、」を取り除くと、これはまだ最後の1列か2つになりますか?また、脇に、問題のファイルに対して列の数を可変または固定していますか? – Levon
あなたのタイトル 'awkユーティリティを使用して実装するシナリオ 'は、あなたの質問に一致しません。 – MattH