¿Qué pasa con el siguiente código?¿Cómo se puede eliminar la extensión de un nombre de archivo en un script de shell?
name='$filename | cut -f1 -d'.''
Como es, obtengo la cadena literal '$ nombre de archivo | corte -f1 -d '.' pero si elimino las citas, no obtengo nada. Mientras mecanografía
"test.exe" | cut -f1 -d'.'
en un caparazón me da la salida que quiero, "prueba". Ya sé que $ filename se le ha asignado el valor correcto. Lo que quiero hacer es asignar a una variable el nombre del archivo sin la extensión.
'basename $ filename .exe' haría lo mismo.Eso es asumiendo que siempre sabes qué extensión quieres eliminar. – mpe
@mpe, te refieres a 'basename" $ filename ".exe'. De lo contrario, los nombres de archivo con espacios serían malas noticias. –