1) "basename" c'est possible, mais "find" est puissant.
find . -type f -iname "$toto" -printf "%f\n"
Tu peux même choisir de séparer les fichiers par une espace, plutôt que d'aller à la ligne.
2) Tu ne peux pas tester un groupe de fichiers.
[ -f *.txt ] refuse de marcher car trop d'arguments.
[[ -f *.txt ]] ne refuse pas de marcher mais renvoie faux. Observe la console suivante :
1 2 3 4 5
| $ [[ -f *.txt ]] && echo OK || echo KO
KO
$ >\*.txt
$ [[ -f *.txt ]] && echo OK || echo KO
OK |
Je n'ai pas fait de "ls" mais tu comprends qu'il existe vraiment un fichier *.txt.
D'ailleurs, on ne sait pas vraiment ce que tu cherches à obtenir. Réfléchis à ton algorithme.
Partager