Estoy intentando guardar los nombres de los archivos de una carpeta, haciendo un $ls <ruta carpeta>, en variables para luego utilizarlos.
Los nombres de los archivos tienen que ser sin extensión.
He estado probando pero no me aclaro, copie un código y fui modificando-lo hasta conseguir algo parecido a lo que pretendía tener, pero no lo consigo del todo.
El trozo de código es este:
Código:
#!/bin/bash
ruta=$(ls /home/moikano/Escritorio/ejerciciscript/videos/)
base="${ruta%%.*}"
ruta="${ruta##.*}"
ruta="${ruta%.*}"
base2="${ruta##.*}"
echo $base $base2
La salida del código es:
Código:
capitul2 capitul2.avi capitul
La salida que yo quisiera tener:
Citar
capitul2 capitul
Esto es lo máximo que he podido sacar, supongo que al final valdrá únicamente si hay 2 archivos, es decir, si la carpeta contiene mas de 2 archivos el script ( cuando este acabado y funcionando) no funcionará como debe ya que solo cojera 2 nombres de archivos.
Por si acaso os pongo la salida del comando:
Código:
$ls /home/moikano/Escritorio/ejerciciscript/videos/
Código:
capitul2.avi capitul.avi
Y si alguien pudiera remitirme a un manual o tutorial donde explicarán como se usan los parámetros ${variable%%.*} para modificar cadenas se lo agradecería.