Het commando file omschrijft de bestandsinhoud van alle bestanden die als argument doorgegeven worden. Op die manier kan je achterhalen welke inhoud een bestand heeft, zonder dat je zelf de bestandsinhoud moet bekijken.

$ file -b /bin/uncompress
POSIX shell script, ASCII text executable
$ file -b /bin/umount
setuid ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, …

In bovenstaande voorbeelden hebben we gebruikgemaakt van de optie -b om ervoor te zorgen dat het commando file de bestandsnamen zelf niet uitschrijft naar stdout.

Opgave

Geef een Unix commando dat een overzicht uitschrijft naar stdout van alle gewone bestanden die uitvoerbaar zijn en die zich onder de directory /bin bevinden (inclusief alle onderliggende directories). Het overzicht moet aangeven hoeveel van die bestanden door het commando file omschreven worden met dezelfde bestandsinhoud. Als er komma's voorkomen in de omschrijving van het commando file dan moet enkel het deel vóór de eerste komma behouden worden. In het overzicht moeten de omschrijvingen opgelijst worden volgens dalend aantal voorkomens en dan lexicografisch1 op de omschrijving zelf.

Voorbeeld

Het resultaat moet er als volgt uitzien:

     53 ELF 64-bit LSB executable
     22 POSIX shell script
     19 ELF 64-bit LSB shared object
      4 setuid ELF 64-bit LSB executable
      1 setuid ELF 64-bit LSB shared object