質問からはcsvがどう関係するのかわからないです。
**質問へのコメントを記載しました。
awk でやるならこんな感じです。
sample.txtの1カラム目の値で重複判定しています。重複数の出力はENDブロックで行っています。
$1
を$2
にすると2カラム目の値で重複判定します。
awk
1$ cat sample.txt
2aaa,vvv1
3wawa,www1
4bbb,xxx1
5aaa,yyy1
6wawa,zzz1
7bac,vvv1
8wawa,www1
$ cat sample.txt |awk -F, '!colname[$1]++{print $0}END{print "\nduplicate column 1";for (i in colname){if (colname[i]>1) print i":"colname[i];}}'
aaa,vvv1
wawa,www1
bbb,xxx1
bac,vvv1
duplicate column 1
wawa:3
aaa:2
$ cat sample.txt |awk -F, '!colname[$2]++{print $0}END{print "\nduplicate column 2";for (i in colname){if (colname[i]>1) print i":"colname[i];}}'
aaa,vvv1
wawa,www1
bbb,xxx1
aaa,yyy1
wawa,zzz1
duplicate column 2
vvv1:2
www1:2
単に以下のようなtxtファイルから重複行を排除、重複した行の数を表示するなら
awkではなくsort
uniq
で可能です。
bash
1$ cat sample.txt
2aaa
3wawa
4bbb
5aaa
6wawa
7bac
8wawa
重複を排除したのもの表示
bash
1$ sort sample.txt | uniq
2aaa
3bac
4bbb
5wawa
重複行のカウントを表示
bash
1$ sort sample.txt | uniq -d -c
2 2 aaa
3 3 wawa