En un bucle como este:Nombre de archivo sin extensión en bash para el bucle
for f in `ls *.avi`; do echo $f; ffmpeg -i $f $f.mp3; done
$ f será el nombre completo, incluyendo la extensión. Por ejemplo, para song1.avi la salida del comando será song1.avi.mp3. ¿Hay alguna forma de obtener solo la canción 1, sin el .avi del bucle for?
Imagino que hay formas de hacerlo usando awk u otras herramientas similares, pero espero que haya algo más directo.
Gracias
Como acotación al margen, usted quiere perder el uso inútil de acentos abiertos. La sintaxis correcta e idiomática es 'para f in * .avi; do ... ' – tripleee
Sin mencionar que si tienes espacios en los nombres de los archivos (aunque esta es una mala práctica), en realidad deberías ir como' ls * avi | mientras lee f; hacer (...); hecho'. Y luego cite '" $ f "' en todas partes. Solo digo. –