¿Quieres mejorar esta pregunta? Agrega detalles y aclara el problema editando esta publicación.
Cerrado hace 4 años.
Mejorar esta pregunta
Tengo un directorio con nueve archivos.
- 1 que termina en
.bat - 2 terminando en
.bak - 4 terminando en
.txt - 2 terminando en
.xtxt
Mi pregunta es, ¿cómo enumero solo los archivos que terminan en .txt? , pero sin utilizar el punto. Entonces quiero mostrar el 4 que termina en .txt , sin usar el comando
ls *.txt
porque no quiero usar el punto para filtrar los archivos. Estoy aprendiendo comodines en este momento, así que se usan en esto. ¡Creo que tengo que usar el ! comando de alguna manera, pero no estoy seguro de dónde usarlo.
Respuesta aceptada:
No entiendo por qué no quieres usar . . De todos modos, puede usar alguna clase de carácter en lugar de . está incluido, pero otros caracteres de su directorio no, un buen candidato para este propósito puede ser [[:punct:]] :
LC_ALL=C ls -- *[[:punct:]]txt
Cambié la configuración regional a C ya que las clases de caracteres dependen de eso, y se agregó -- a ls opción para enumerar todos los archivos que comienzan con - correctamente.
Definición:
`[:punct:]'
Punctuation characters; in the `C' locale and ASCII character
encoding, this is `! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [
] ^ _ ` { | } ~'.