Inicio > Gestión de archivos y directorios > basename

basename: Extraer el nombre de archivo de una ruta

basename es un comando que elimina la parte del directorio de una ruta de archivo dada y extrae solo el nombre de archivo puro. Opcionalmente, también puede eliminar un sufijo específico del nombre de archivo. Es útil cuando se necesita manipular nombres de archivo en scripts.

Descripción general

El comando basename elimina la parte del directorio de una ruta de archivo y devuelve solo el nombre del archivo. Esto es muy útil para la manipulación de nombres de archivo en scripts de shell. Por ejemplo, puede extraer solo 'document.txt' de la ruta '/home/user/document.txt'.

Funciones principales

  • Extraer el nombre de archivo de una ruta de archivo
  • Eliminar un sufijo especificado
  • Procesar múltiples rutas de archivo (extensión GNU)

Opciones principales

El comando basename proporciona varias opciones relacionadas con la extracción de nombres de archivo y la eliminación de sufijos.

Control de sufijo y salida

Comando generado:

Combina los comandos.

Descripción:

`basename` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Varios ejemplos de cómo usar el comando basename.

Extracción básica del nombre de archivo

basename /home/user/documents/report.pdf

Extrae solo el nombre del archivo de la ruta dada.

Eliminar sufijo (segundo argumento)

basename /home/user/documents/report.pdf .pdf

Elimina un sufijo específico del nombre del archivo.

Eliminar sufijo (opción --suffix)

basename --suffix=.pdf /home/user/documents/report.pdf

Elimina el sufijo usando la opción --suffix.

Procesar múltiples nombres de archivo (opción -a)

basename -a /etc/passwd /var/log/syslog

Extrae nombres de archivo de múltiples rutas de archivo a la vez.

Uso con find y xargs

find . -maxdepth 1 -type f -print0 | xargs -0 basename --suffix=.txt

Extrae los nombres base de los archivos encontrados con el comando find.

Consejos y precauciones

Consejos útiles y puntos a tener en cuenta al usar basename.

Combinación con dirname

basename extrae solo el nombre del archivo, mientras que dirname extrae solo la ruta del directorio, por lo que se pueden usar juntos para separar la ruta del archivo.

  • Ejemplo: path="/home/user/file.txt" filename=$(basename "$path") dirname=$(dirname "$path") echo "Filename: $filename" echo "Dirname: $dirname"

Malentendido sobre la opción -s de basename

Algunos usuarios pueden buscar una opción como `basename -s`, pero el comando `basename` estándar no tiene una opción `-s`. Para eliminar un sufijo, debe especificar el sufijo directamente como segundo argumento o usar la opción `--suffix`.

Separador de ruta

basename reconoce la barra inclinada (`/`) como separador de ruta por defecto. Tenga cuidado al procesar separadores de ruta de otros sistemas (por ejemplo, la barra invertida `\` de Windows).


comandos relacionados

Son comandos que son funcionalmente similares o que se usan juntos con frecuencia.


Comandos de la misma categoría