Les globs et tuyaux d'Unix sont très utiles dans de nombreux cas lorsque nous travaillons depuis la console. Vous avez tous utilisé les tuyaux ou utilisé les caractères célèbres comme le joker * pour remplacer les noms, etc. Eh bien, ils ont sûrement également rencontré le problème de vouloir supprimer tous les fichiers d'un répertoire à l'exception d'un ou plusieurs d'entre eux. S'il y en a peu, ce n'est pas un problème, cela peut être fait facilement même à partir du mode graphique.
Mais s'il y en a beaucoup et que nous sommes travailler depuis la console les choses se compliquent un peu. Mais c'est simplement parce que nous n'avons pas de ressources, car il existe des options simples que nous pouvons exploiter pour nous aider à transformer des tâches complexes en quelque chose de très simple. Eh bien, dans ce tutoriel simple, nous expliquons comment faire cela en utilisant simplement un simple symbole ... Facile, non? Eh bien, allons pratiquer:
Tout d'abord, je vais imaginer que nous avons un annuaire appelé Photos dans lequel nous voulons supprimer tous les fichiers image .jpeg qui se trouvent à l'intérieur. Imaginons qu'il y ait 100 photos. Et nous voulons tous les supprimer sauf l'un d'entre eux appelé nat7.jpg. La première étape consiste à accéder à ce répertoire à l'aide de la commande cd. Par exemple:
cd /home/Fotos
Ensuite, nous utiliserons la commande rm comme nous le faisons souvent quand nous le voulons effacer quelque chose, mais nous indiquerons que nous voulons tout effacer sauf cette photo que nous voulons conserver, pour cela nous utiliserons le personnage! tel que:
rm -f !(nat7.jpg)
Avec cela, nous refusons la suppression à rm afin qu'il supprime tout sauf le fichier nommé nat7.jpg. Si vous allez dans le répertoire et faites une annonce du contenu, vous pourrez vérifier que tout sauf la photo souhaitée a été supprimé:
ls /home/Fotos
Maintenant, vous pouvez jouer avec ce glob pour faire d'autres choses, comme supprimer tous les fichiers dans un répertoire à l'exception des fichiers MP3 avec! (*. mp3) ou également enregistrer divers fichiers ou formats à partir de la suppression, tels que! (nat7.jpg | isa5.jpg) ou avec! (* . txt | * .mp3). Les possibilités sont nombreuses ... C'est Unix, c'est Linux!
4 commentaires, laissez le vôtre
Il n'y a pas un jour où l'on n'apprend rien! Malgré le fait que je joue avec les PC depuis environ 30 ans et presque 20 avec Linux, je ne suis pas très habitué à la console, j'avoue que c'est extrêmement utile, mais j'ai toujours été paresseux lorsqu'il s'agit de mémoriser des commandes et célébrez le passage au mode graphique. Je ne connaissais pas du tout cette option de globs et bien qu'il ne m'ait pas été difficile de survivre sans elle, il faut reconnaître qu'elle a l'air super utile et pratique, en plus, facile à comprendre et à appliquer. Je prends bonne note.
Merci pour une contribution qui, je ne doute pas, sera très utile.
Salut.
Merci beaucoup mais…
rm -f! (*. exe)
bash:!: événement non trouvé
Salut,
Essayez d'activer ceci:
shopt -s extglob; ensemble -H
Et puis réessayez:
rm -f! (*. exe)
Salutations! J'espère que cela fonctionne pour vous. Et merci de nous suivre ...
Bonjour, j'ai une question, je n'ai pas pu sauvegarder deux fichiers en même temps car quand je l'essaye, tout est effacé, mais quand je le fais avec un seul si je peux. Qu'est ce que ça pourrait être? Comment le résoudre?