Pour la recursivité des dossiers il faut faire la chose suivante :
- une boucle qui prends en argument la liste des fichiers du dossier courant (un ls quoi, voir deux pour les fichiers avec un . devant)
- Pour chaque itération tester si c'est un dossier ou non
- Si c'est un dossier il faut rappeler le script lui même pour qu'il repasse sur le dossier en question (que tu auras fait expres de mettre en argument)
- Si c'est un fichier bah tu fais ta moulinette.
Pour les fichiers avec un # que tu dois enlever, les commandes grep et awk devraient t'aider