¿Cómo enumerar un subconjunto de archivos en varios directorios?


2

Estoy empezando a aprender Linux. Tengo un directorio llamado class03con cinco directorios:

_html
html
dothtml
images
123

Necesito un comando de una línea que enumere todos los archivos con -01, -02y -03en el nombre del archivo en esos directorios.

Puedo obtener todos los archivos para enumerar con el comando:

ls _html/ html/ dothtml/ images/

Cuando trato de poner las restricciones, sigue apareciendo sin la restricción y los errores con el *-0[123]

Lo intenté:

ls *-0[123] * _html/ html/ dothtml/ images/

y:

ls _html/ html/ dothtml/ images/ * -0[123] *

Entonces, ¿qué debo hacer para que el código funcione en un comando?


Por cierto, si desea enumerar todos los archivos en, digamos, los directorios _htmly html, es suficiente decir ls _htlm html: no necesita escribir /al final de cada nombre de directorio.
Scott

Respuestas:


2

Si no hay otros directorios, puede usar solo

ls */*-0[123]*

Si hay más directorios que desea excluir, puede usar la expansión de llaves:

ls {{,_,dot}html,images,123}/*-0[123]*

Ahora, si yo quería mover esos archivos gustaría i sólo tiene que utilizar el mismo comando Reemplazar ls a mV
Brian Fox

@brianfox: claro. Pero tenga cuidado si existen archivos con el mismo nombre en diferentes directorios de origen, obtendrá mv: will not overwrite just-created.
choroba
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.