elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Bash] Listar los archivos de una carpeta e introducirlo en un array
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Bash] Listar los archivos de una carpeta e introducirlo en un array  (Leído 4,217 veces)
Javidod

Desconectado Desconectado

Mensajes: 1


Ver Perfil
[Bash] Listar los archivos de una carpeta e introducirlo en un array
« en: 7 Febrero 2018, 23:55 pm »

Buenas, soy nuevo en este foro, he empezado con varios scripts básicos en bash para un proyecto de investigación que tengo, y no sé ni por donde empezar, así que iré al grano:

He estado buscando por internet lo que me parecía algo básico, pero no he encontrado nada, necesito guardar los nombres de los archivos (no contienen espacios en sus nombres)de una carpeta tanto con extensión como sin extensión en dos arrays diferentes. He conseguido guardarlos tanto con y sin extensión en una única variable (no array) pero a partir de ahí me pierdo.

También está el problema de que alguno de ellos tiene dos puntos en su nombre por ejemplo: crysis.bin.gz, por lo que al separarlo por el punto no funciona demasiado bien.

No sé si alguien podría echarme una mano, muchas gracias, un saludo.

PD: Seguramente sea algo básico, pero nunca había programado en bash, estoy empezando por mi cuenta y no soy muy asiduo a entornos linux.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: [Bash] Listar los archivos de una carpeta e introducirlo en un array
« Respuesta #1 en: 8 Febrero 2018, 00:27 am »

También está el problema de que alguno de ellos tiene dos puntos en su nombre por ejemplo: crysis.bin.gz, por lo que al separarlo por el punto no funciona demasiado bien.

Si estás partiendo el string usando como delimitador el caracter de punto, y tenga la cantidad de puntos que tenga el nombre, tan solo debes descartar el último elemento partido, y esa será siempre la extensión del archivo. Claro que primero debes comprobar que el nombre de archivo contenga al menos 1 punto, o dicho de otro modo: una extensión.

De todas formas, al parecer la solución más apropiada y eficiente es mucho más simple que andar partiendo strings, se conoce como 'Shell Parameter Expansion':

Documentación:

PD: no recuerdo nada sobre el uso de Bash, no te puedo ayudar en lo demás, pero es cuestión de que busques un poco en San Google, ya que son dudas/problemas muy básicos que ya todo el mundo habrá preguntado alguna vez en la World Wide Web...

Saludos


« Última modificación: 8 Febrero 2018, 00:40 am por Eleкtro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Bash] Problema con array [resuelto]
Scripting
hervasiop12345 8 7,874 Último mensaje 21 Julio 2011, 10:15 am
por hervasiop12345
Ayuda con funcion listar ventanas en Array
Programación Visual Basic
| SMT | 3 2,307 Último mensaje 11 Agosto 2013, 16:25 pm
por Dessa
[Python] Listar Archivos Carpeta
Scripting
ovichan 2 7,179 Último mensaje 20 Agosto 2013, 05:45 am
por ovichan
Listar todas las carpetas existentes dentro de una carpeta en vb6
Programación Visual Basic
AnaCarolina28 1 2,165 Último mensaje 9 Noviembre 2014, 01:45 am
por engel lex
Como obtener nombres de archivos en una carpeta y agregarlos a un array | PS
Scripting
cat26 4 3,539 Último mensaje 7 Septiembre 2019, 04:40 am
por cat26
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines