es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo eliminar los últimos 4 caracteres de una cadena en bash?

Tengo este código que imprime todos los archivos con extensión .tex en el directorio actual:

printf("%s", "*.tex");

Ahora quiero obtener solo los nombres de archivo (sin “.tex”) y imprimirlos de la misma manera. Sé que hay un método para acortar la cadena usando:

printf("%.4s", "*.tex");

pero eso no es lo que quiero.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para imprimir solo los nombres de archivo sin la extensión “.tex”, puedes hacer uso del comando basename en combinación con el comando printf:

    for file in *.tex; do printf '"%s"\n' "$(basename "$file" .tex)"; done
    

    Esto recorrerá todos los archivos con la extensión “.tex” en el directorio actual e imprimirá sus nombres de archivo correspondientes sin la extensión entre comillas dobles. El comando basename elimina la ruta del directorio y la extensión del nombre de archivo de entrada, mientras que el comando printf formatea la salida con comillas dobles.

Comments are closed.