Vous voulez améliorer cette question ? Ajoutez des détails et clarifiez le problème en modifiant ce message.
Fermé il y a 4 ans.
Améliorer cette question
J'ai un répertoire contenant neuf fichiers.
- 1 se terminant par
.bat
- 2 se terminant par
.bak
- 4 se terminant par
.txt
- 2 se terminant par
.xtxt
Ma question est, comment puis-je lister uniquement les fichiers se terminant par .txt
, mais sans utiliser le point. Je veux donc afficher les 4 se terminant par .txt
, sans utiliser la commande
ls *.txt
parce que je ne veux pas utiliser la période pour filtrer les fichiers. J'apprends les caractères génériques en ce moment, ils sont donc utilisés dans ce domaine. Je pense que je dois utiliser le !
commande d'une manière ou d'une autre, mais je ne sais pas où l'utiliser.
Réponse acceptée :
Je ne comprends pas pourquoi vous ne voulez pas utiliser .
. Quoi qu'il en soit, vous pouvez utiliser une classe de caractères à la place où .
est inclus, mais pas les autres caractères de votre répertoire, un bon candidat à cette fin peut être [[:punct:]]
:
LC_ALL=C ls -- *[[:punct:]]txt
J'ai changé les paramètres régionaux en C
car les classes de caractères en dépendent, et ajouté --
à ls
option pour lister tous les fichiers qui commencent par -
correctement.
Définition :
`[:punct:]'
Punctuation characters; in the `C' locale and ASCII character
encoding, this is `! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [
] ^ _ ` { | } ~'.