GNU/Linux >> Tutoriales Linux >  >> Linux

Usando el comando Dirname de Linux en Bash Scripts

El comando dirname en Linux imprime una ruta de archivo con su componente final eliminado. Esto básicamente le da la ruta del directorio desde la ruta del archivo.

Esto es especialmente útil en los scripts de bash en los que desea extraer la ruta del directorio de la ruta de archivo larga.

El comando dirname es complementario al comando basename. El comando basename extrae el nombre del archivo de la ruta mientras que dirname extrae la ruta del directorio.

Déjame mostrártelo con algunos ejemplos.

Ejemplos de comandos de Dirname

El comando dirname tiene una sintaxis sencilla.

dirname OPTION PATH

El uso del comando dirname con la ruta absoluta de un archivo dará la ruta del directorio:

dirname /home/user/data/filename.txt
/home/user/data

Al igual que el comando basename, el comando dirname también es realmente estúpido. Realmente no reconoce la ruta del archivo. Solo busca las barras inclinadas (/) e imprime lo que sea que esté antes de la última barra inclinada. Básicamente, puede darle cualquier cadena con / y funcionará en ella.

Por ejemplo, estoy usando una cadena aleatoria aquí sin nombre de archivo. Puede ver que todavía funciona igual y genera una cadena que elimina el último / y el texto que le sigue.

Si la ruta no tiene una barra inclinada (/), generará un punto (.) que implica el directorio actual.

También puede usar dirname con múltiples rutas. Devolverá la salida para cada ruta en una nueva línea:

Puede usar la opción -z para obtener el resultado en la misma línea con salidas separadas por carácter NULL.

Usando dirname en bash script

Mostré algunos ejemplos del comando dirname. Hablemos sobre el uso de dirname en scripts bash.

Suponga que tiene una variable de ruta de archivo y desea obtener la ruta al directorio que contiene el archivo. Este podría ser un script simple:

pathname="/home/dir/data/filename"

result=$(dirname "$pathname")

echo $result

Como mencioné anteriormente, el comando dirname se complementa con el comando basename. A diferencia de dirname, el comando basename imprime solo el último componente de la ruta.

Espero que les haya gustado este tutorial. Como siempre, no dude en hacer preguntas o brindar sugerencias en la sección de comentarios.

¿Te gustó el artículo? Compártelo y ayúdanos a crecer :)


Linux
  1. Cómo borrar el historial de Bash en Linux

  2. Usando Bash para la automatización

  3. Ejemplos de uso del comando dmsetup en Linux

  4. Enumere el archivo usando el comando ls en Linux con la ruta completa

  5. ¿Cómo mostrar la ruta actual en el símbolo del sistema en sh (no bash) de Linux?

Comando de historial en Linux (Bash History)

Cómo usar el comando echo en Bash Scripts en Linux

Tutorial sobre el uso del comando Timeout en Linux

Programar trabajos en Linux con el comando 'at'

Usando el comando Watch en Linux

Usando cut en Linux Terminal