J'essaie de trouver tous les fichiers avec une extension spécifique dans un répertoire et ses sous-répertoires avec mon bash (dernière version Ubuntu LTS).
C'est ce qui est écrit dans un fichier script :
#!/bin/bash
directory="/home/flip/Desktop"
suffix="in"
browsefolders ()
for i in "$1"/*;
do
echo "dir :$directory"
echo "filename: $i"
# echo ${i#*.}
extension=`echo "$i" | cut -d'.' -f2`
echo "Erweiterung $extension"
if [ -f "$i" ]; then
if [ $extension == $suffix ]; then
echo "$i ends with $in"
else
echo "$i does NOT end with $in"
fi
elif [ -d "$i" ]; then
browsefolders "$i"
fi
done
}
browsefolders "$directory"
Malheureusement, lorsque je lance ce script dans le terminal, le message suivant apparaît :
[: 29: in: unexpected operator
(avec $extension
au lieu de 'in'
)
Que se passe-t-il ici, où est l'erreur ? Mais cette accolade
2 votes
L'erreur provient d'un "{" manquant
0 votes
Cette question est un duplicata de Comment puis-je trouver de manière récursive tous les fichiers dans le dossier courant et les sous-dossiers sur la base d'une correspondance de caractères génériques ?