列に区切り文字を使用して、しきい値を超える列の行を抽出します。

列に区切り文字を使用して、しきい値を超える列の行を抽出します。

私のデータファイルは次のとおりです。

name,age,quote,children
Mary,50,Love For All, Hatred For None.,3
John,61,I think, therefore, I am,2
June,42,You're braver than you believe, and stronger than you seem, and smarter than you think,1

子が1より多い行を出力.txtに抽出したいと思います。ただし、列にカンマがあるため、$ 4列を実際に指定することはできませんquote

この問題にどのように対処する必要がありますか?私はこれを試しましたが、awk -F, '$-1 > 1' data > output.txtpython / javaのように$ -1を読みません。

答え1

$NFawkでは、2番目から最後までなどを使用して、フィールド区切り文字に基づいて最後のフィールド値にアクセスできます。$(NF-1)だからあなたは必要です

awk -F, '$NF > 1' data

また、間違った.csvファイルを生成したソースプログラムを最初に修正することを忘れないでください。

関連情報