Experimente:
awk 'BEGIN{FS=",";}{if (!ids[$1]) {ids[$1]=1;lines[$1]=$0;} else {if (ids[$1]==1) {print lines[$1]; print; ids[$1]++;} else {print;}}}'
Quando um id é encontrado primeiro, ele é armazenado no array associativo ids , e toda a linha é armazenada no array associativo lines , mas não é impressa.
Quando um id é encontrado duas vezes ou mais, a linha armazenada é impressa e cada linha adicional é impressa também.
O teste:
$ cat data.csv
Id1,x11,x12...
Id2,x21,x22...
Id2,x23,x24...
$ awk 'BEGIN{FS=",";}{if (!ids[$1]) {ids[$1]=1;lines[$1]=$0;} else {if (ids[$1]==1) {print lines[$1]; print; ids[$1]++;} else {print;}}}' data.csv
Id2,x21,x22...
Id2,x23,x24...