GNU/Linux >> Tutoriels Linux >  >> Linux

`ls -d *[!e]*` affiche-t-il tous les fichiers au lieu d'omettre tous les fichiers contenant un E ?

ls -d *e* imprime tous les fichiers contenant un "e" quelque part dedans. Mais le contraire, ls -d *[!e]* ne semble pas fonctionner. Pourquoi exactement ?

est-ce parce que ls prend * comme son propre argument et développe tous les fichiers ?

Je comprends que je peux faire :ls -d !(*e*) (en Bash avec extglob set, ou en ksh).

Réponse acceptée :

Ce que fait réellement ce glob correspond à n'importe quel nombre de caractères, puis à un seul caractère autre qu'un e, puis à n'importe quel nombre de caractères. Il correspondra à tout fichier dont le nom n'est pas entièrement composé de e.


Linux
  1. Décompressez tous les fichiers dans un répertoire

  2. lien symbolique :trouver tous les fichiers liés à ce fichier

  3. La commande 'ls -d' n'affiche pas les répertoires. Existe-t-il un moyen d'obtenir que 'ls' affiche uniquement les répertoires au lieu des fichiers et des répertoires?

  4. Comment puis-je trouver tous les fichiers qui ne sont *pas* en écriture de groupe ?

  5. grep pour trouver les fichiers contenant une chaîne supérieure à x caractères ?

Obtenir tous les fichiers qui ont été modifiés à une date précise ?

Comment trouver tous les fichiers qui ne contiennent pas de chaîne de texte ?

Déplacer tous les fichiers sauf un

Pas de variable DISPLAY X11 - qu'est-ce que cela signifie ?

Comment afficher les noms de fichiers qui contiennent deux caractères et dont l'un est c ?

Supprimer les fichiers qui commencent par mais ne contiennent pas