Liste tous les fichiers qui n'ont pas d'extensions


11

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?


Habituellement, si vous souhaitez connaître les options d'une commande, lisez sa page de manuel en tapant "man <command>" dans le terminal. homme signifie manuel (aide) .par exemple - man ls
aaditya1234

@AadityaBagga Dans ce cas, la réponse ne se trouve pas dans le manuel.
wisbucky

Dans ce scénario, envisagez-vous .gitignoreune extension?
Amit Naidu

Réponses:


14
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.


1
OP n'a pas mentionné que la coquille, mais je suppose que bash suppose. Si elle était ksh, pas extglob nécessaire. Par défaut, il suffit:ls !(*.*)
Runrig

1
@runrig Vous avez tout à fait correct, mais étant donné la nature fondamentale de la question que je supposais l'OP utilise le shell bash par défaut.
evilsoup

10

Les deux ls | grep -v \\.et ls | grep -v "\."fonctionne.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.