Ok c'est étrange. J'utilise ce code,
ls *.prj
Pour lister tous les fichiers avec l’extension .prj dans le répertoire mais j’obtiens cette erreur,
bash:/bin/ls: la liste d'arguments est trop longue
Je souhaite éventuellement obtenir le nombre de fichiers et j'utilisais,
ls * .prj | wc -l
Mais même cette commande donne la même erreur. Une idée où je vais mal?
Rien, il y a une limite au nombre d'arguments que bash peut traiter. Faire
ls | grep '\.prj$' | wc -l
Utilisez la commande find
à la place
find . -name "*.prj"
Vous pouvez également combiner les commandes avec find
find . -name "*.prj" -exec COMMAND {} \;
J'espère que cela t'aides.
L'analyse de la sortie de ls
n'est pas fiable . Cela fonctionnera probablement dans votre cas, mais ls
modifie les caractères non imprimables. Voici un moyen totalement fiable de compter les fichiers correspondant à une extension donnée. Cet extrait de shell crée un tableau contenant les noms de fichier, puis affiche le nombre d'éléments du tableau.
a=(*.prj)
echo ${#a[@]}