Afficher les données en double avec awk $ 2, 3 $, 4 $ en une seule ligne

Si j'ai 2 listes qui contiennent les éléments suivants (exemples):

list1 x;00:26:82:50:00:00;192.168.1.195;COMPUTER1 x;00:26:82:50:11:11;192.168.1.195;COMPUTER2 x;00:26:82:50:22:22;192.168.1.196;COMPUTER3 list2 x;00:26:82:50:11:11;192.168.1.197;COMPUTER3 

Lorsque je exécute ces commandes, ajoutez-moi des doublons:

 awk -F\; '{print $2}' list* | sort | uniq -d out: 00:26:82:50:11:11 awk -F\; '{print $3}' list* | sort | uniq -d out: 192.168.1.195 awk -F\; '{print $4}' list* | sort | uniq -d out: COMPUTER3 

Ma question est:

Comment puis-je lancer la commande (awk -F \; … etc) sur une seule ligne et obtenir les mêmes résultats?

PD: sans &&

Merci

Vous pouvez le faire avec un script simple à partir de la ligne de commande, en utilisant cut (1) au lieu de awk (1), comme ceci:

 $ for field in 2 3 4; do cut -d\; -f${field} list* | sort | uniq -d; done