Je souhaite répertorier tous les fichiers d'un répertoire sans extension.
Par exemple:
$ ls
a.txt b c.pdf d e.png
$ ls -someOption
b d
Quelle commande puis-je utiliser à la place ls -someOption?
.gitignoreune extension?
Je souhaite répertorier tous les fichiers d'un répertoire sans extension.
Par exemple:
$ ls
a.txt b c.pdf d e.png
$ ls -someOption
b d
Quelle commande puis-je utiliser à la place ls -someOption?
.gitignoreune extension?
Réponses:
shopt -s extglob ## enables extended globbing
ls !(*.*) ## matches every file except those containing a dot
Vous constaterez que faire cela vous montrera le contenu de chaque répertoire dans le répertoire de travail. Si vous ne voulez pas, utilisez:
ls -d !(*.*)
Vous pouvez mettre shopt -s extglobvotre ~/.bashrcpour l'activer chaque fois que vous ouvrez un terminal. Il y a déjà une ligne dans l'Ubuntu par défaut ~/.bashrc(ligne 29 pour moi le 13.04) que vous pouvez décommenter pour l'activer (et globstar).
Voir le wiki de Greg pour plus d' informations sur les différentes options de englobement du shell. Notez que ceci est une propriété du shell bash plutôt que la lscommande, de sorte que vous pouvez l' utiliser avec d' autres commandes.
Vous pouvez également utiliser
ls --ignore='*.*'
ou
ls -I '*.*'
... qui est une interne lsoption, mais extglob peut être appliquée à toute commande arbitraire et est donc plus utile à mon avis.
ls !(*.*)