afin de supprimer tous les fichiers se terminant par Si je veux supprimer tous les fichiers qui ne se terminent pas avec [.lnx], quelle commande dois-je utiliser? p>
Y a-t-il une telle chose? P> .lnx code>, la cmd serait
rm * .lnx code>, non? P>
3 Réponses :
find . -depth 1 -type f -not -name '*.lnx' -delete find all files (-type f) in the current directory (-depth 1) which do not match the filename (-not -name '*.lnx'), and delete them (-delete)As always, test this first. Run it without the -delete to see all the files that match.
-TYPE F code> n'est pas requis. Il n'a pas dit qu'il voulait exclure les répertoires.
Vous pouvez utiliser Ceci :
!(pattern-list) Matches anything except one of the given patterns. A pattern-list is a list of one or more patterns separated by a â|â.
Bien, mais note que vous aurez besoin EXTLGLOB code> activé (avec
shopt -s extglob code>) pour l'utiliser.
À Ubuntu: EXTLGLOB code> est en défaut.
Ai-je manqué où il a dit qu'il est sur Ubuntu? Je ne vois pas cela indiqué ou impliqué nulle part. Quoi qu'il en soit, cela ne va pas nécessairement être sur tout le monde qui vient à ce fil pour une réponse, il vaut donc la peine de noter.
ls | grep -v '\.lnx$' | xargs rm