Est-il possible d'ajouter une exception avec un «ls -l *»


0

Est-il possible de faire par exemple: ls -l *qui impriment le contenu de tout un répertoire. Et ajoutez une exception, par exemple, test.cpp pour imprimer tous les fichiers sauf le test.cpp.


1
--hide ou --ignore de la page de manuel devrait fonctionner
Lamar B

Réponses:


3

Vous pouvez le faire avec un glob si vous avez extglobactivé. Vous pouvez l'activer avec:

shopt -s extglob

Et vous pouvez l'utiliser comme:

ls -l !(test.cpp)

et il peut être utilisé d'autres manières aussi:

ls -l !(*.jpg) # list all files that don't have .jpg extensions

Puisqu'il s'agit d'un glob shell, il peut également être utilisé avec d'autres commandes. Un effet secondaire, cependant, est que cela entraîne la liste explicite des sous-répertoires, ce qui signifie qu'ils lsles listeraient également. Mais, cela peut facilement être manipulé avec:

ls -ld !(test.cpp)

2

La manière classique (naïve?) De faire cela serait

  ls -l * | grep -v test.cpp

Cependant, comme Lamar a commenté, GNU lsa des options pour ignorer certains noms de fichiers

  ls -l -I test.cpp *

Remarque ls -l *répertorie les fichiers du répertoire en cours et les fichiers des sous-répertoires du premier niveau . Vous avez peut-être voulu dire ls -lsans le*


Ou peut-être ls -ld *.
Daniel Beck
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.