最初のフィールドに基づいて一意の行を印刷し、その行の最初の出現を保持し、重複する他の出現を削除します。
Input.csv
10,15-10-2014,abc
20,12-10-2014,bcd
10,09-10-2014,def
40,06-10-2014,ghi
10,15-10-2014,abc
必要な出力:
10,15-10-2014,abc
20,12-10-2014,bcd
40,06-10-2014,ghi
以下のコマンドを試しましたが、不完全です
awk 'BEGIN { FS = OFS = "," } { !seen[$1]++ } END { for ( i in seen) print $0}' Input.csv
あなたの提案を探しています...
「seen」のテストは、条件部分ではなく、スクリプトのアクション部分に配置します。次のように変更します。
awk -F, '!seen[$1]++' Input.csv
はい、それがスクリプト全体です。
$ cat Input.csv
10,15-10-2014,abc
20,12-10-2014,bcd
10,09-10-2014,def
40,06-10-2014,ghi
10,15-10-2014,abc
$
$ awk -F, '!seen[$1]++' Input.csv
10,15-10-2014,abc
20,12-10-2014,bcd
40,06-10-2014,ghi
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加