Localització de fitxers

Construiu un programa que a partir d’un directori d cerca tot un seguit de noms de fitxers. En la línia de la comanda que invoca al programa es donarà com arguments el directori d, i després els noms de fitxers a cercar.

Per cada nom, es farà una llista de totes les localitzacions trobades (buïda en el cas que no se’n trobi). El programa escriurà al canal estandard de sortida per cada nom de fitxer donat, el seu nom, dos punts, i la llista de localitzacions trobades.

Un exemple d’ús::

$ localitza  /usr/ X xterm
X :  ['/usr/bin/X', '/usr/share/terminfo/X']
xterm :  ['/usr/bin/xterm', '/usr/share/texlive/texmf/texconfig/x/xterm', '/usr/share/menu/xterm', '/usr/share/doc/xterm']

El programa es farà de manera que per cada nom de fitxer a cercar, hi haurà un fil de control dedicat a la cerca d’un nom i al recull del seu resultat.

Cada fil de control serà un objecte derivat del tipus Thread de la biblioteca threading. Cada objecte contindrà al final de la seva execució el resultat de la cerca que li ha tocat fer.

Cada fil, executarà la comanda find d -name « nf « on nf és el nom de fitxer a cercar i d el directori arrel on començarà a cercar. La crida popen de la biblioteca os us pot ser útil.