awk出力からの文字列の引用

awk出力からの文字列の引用

awk以下に示す方法を使用してファイルから文字列を取得します。今私はそれを二重引用符で囲みたいです。どんなサポートにも感謝します。

awk -F',' '{print $(NF)}' sample.csv|  tail +2  

出力:

sample

予想出力:

"sample"

ベストアンサー1

文字列に引用符を追加するには、引用符awk付きの文字列を印刷します。

print "\"" $NF "\""

または

printf "\"%s\"\n", $NF

これにより、すでに引用されているフィールドに引用が追加されます。

CSV認識ツールの使用ミラーmlr)はヘッダー(引用符を含む)はDataあるがCSVヘッダーはないフィールドを抽出します。

mlr --csv --headerless-csv-output --quote-all cut -f Data file.csv

これにより、引用符はすでに引用符付きフィールドに追加されませんが、挿入されたカンマ、引用符、および改行を含むフィールドが正しく返されるため、簡単ではawkありません。


CSVファイルのすべてのデータを参照し、そのファイルを元のファイルに書き換えるには、次のようにMillerを使用します。

mlr --csv --quote-all -I cat file.csv

この-Iオプションを使用すると、mlr内部編集が行われます。--quote-numeric参照番号フィールドのみを使用できます。他の方法で参照を追加することはあまり意味がありません。少なくともCSVをサポートするツールでデータを読み取るときはそうではありません。一般的なCSV処理ツール削除するデフォルトでは引用は必要ありません。

おすすめ記事