Articulo de referencia

nombre_del_directorio

dirname es un comando de shell para extraer la parte de la ruta del directorio de una ruta , sin el apellido. El comando está especificado en la Especificación Única de UNIX y s...

dirnamees un comando de shell para extraer la parte de la ruta del directorio de una ruta , sin el apellido. El comando está especificado en la Especificación Única de UNIX y se utiliza principalmente en scripts de shell .

La versión en GNU Core Utilities fue escrita por David MacKenzie y Jim Meyering. [ 1 ] El comando está disponible para Windows como parte del proyecto GnuWin32 [ 2 ] y UnxUtils [ 3 ] y está en IBM i . [ 4 ]

Uso

La especificación única de UNIX es: dirname path. El argumento requerido, path, es una cadena de ruta de archivo.

Ejemplos

El comando informa la parte de la ruta del directorio que corresponde a una ruta, ignorando cualquier barra diagonal final.

$ dirname /ruta/al/archivo.ext /ruta/al/archivo$ dirname /ruta/a/ /ruta$ dirname filename.ext .

Actuación

Dado que el comando solo acepta un operando, su uso dentro del bucle interno de un script de shell puede ser perjudicial para el rendimiento. Considere lo siguiente:

mientras se lee el archivo ; hacer dirname " $file " hecho < alguna entrada 

Lo anterior provoca una invocación de proceso independiente para cada línea de entrada. Por esta razón, normalmente se utiliza la sustitución de shell:

echo " ${ archivo %/* } " ;

O bien, si también es necesario gestionar las rutas relativas:

if [ -n " ​​${ file ##*/* } " ] ; then echo "." else echo " ${ file %/* } " ; fi

Tenga en cuenta que estos manejan las barras diagonales finales de manera diferente a dirname.

Véase también

Referencias

  1. Manual de usuario de Linux – Comandos de usuariodirname(1)  
  2. "CoreUtils para Windows" . Archivado del original el 30/07/2025 . Consultado el 03/02/2026 .
  3. "Adaptaciones nativas para Win32 de algunas utilidades GNU" . Archivado del original el 9 de febrero de 2006. Consultado el 23 de febrero de 2022 .
  4. IBM . "IBM System i Versión 7.2 Programación Qshell" (PDF) . IBM . Archivado (PDF) del original el 18-09-2020 . Recuperado el 05-09-2020 .