Vuoi migliorare questa domanda? Aggiungi dettagli e chiarisci il problema modificando questo post.
Chiuso 4 anni fa.
Migliora questa domanda
Ho una directory con nove file al suo interno.
- 1 che termina con
.bat
- 2 che termina con
.bak
- 4 che termina con
.txt
- 2 che termina con
.xtxt
La mia domanda è:come faccio a elencare solo i file che terminano con .txt
, ma senza utilizzare il punto. Quindi voglio visualizzare il 4 che termina con .txt
, senza utilizzare il comando
ls *.txt
perché non voglio usare il punto per filtrare i file. Sto imparando i caratteri jolly al momento, quindi sono usati in questo. Penso di dover usare il !
comando in qualche modo ma non sono sicuro di dove usarlo.
Risposta accettata:
Non capisco perché non vuoi usare .
. Comunque puoi usare qualche classe di caratteri invece dove .
è incluso, ma non altri caratteri dalla tua directory, un buon candidato per questo scopo può essere [[:punct:]]
:
LC_ALL=C ls -- *[[:punct:]]txt
Ho cambiato la lingua in C
poiché le classi di caratteri dipendono da questo e ho aggiunto --
a ls
opzione per elencare tutti i file che iniziano con -
correttamente.
Definizione:
`[:punct:]'
Punctuation characters; in the `C' locale and ASCII character
encoding, this is `! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [
] ^ _ ` { | } ~'.