Extraiga el nombre de archivo de la ruta completa en Linux

Linux es una familia de sistemas operativos de código abierto y viene en varias distribuciones o distribuciones. La ruta completa en Linux significa comenzar desde el directorio raíz “/” , la dirección del archivo incluye los directorios y subdirectorios hasta el nombre del archivo.

Una ruta de archivo completa en Linux tiene el siguiente aspecto:

/home/user/Documents/test.txt

Siempre comienza con «/» y termina con el nombre del archivo. Cuando se trata de un solo archivo, es bastante fácil obtener el nombre del archivo, pero cuando se requiere una gran cantidad de nombres de archivo de su ruta, podemos automatizarlo. En este artículo, aprenderemos diferentes formas de extraer nombres de archivos.

  • Usando el comando basename
  • Usando la sustitución de parámetros de Bash

Repasemos todos los métodos uno por uno.

Método 1: Usando el comando basename

El comando basename se crea únicamente con el fin de extraer el nombre base, es decir, el nombre del archivo. Ingrese el siguiente comando en el siguiente patrón para obtener el nombre del archivo

basename full_path

Ejemplo:

basename /home/user/Desktop/exam1.pdf

Producción:

 

Múltiples rutas : use el indicador -a para pasar múltiples rutas y recuperar sus nombres de archivo respectivamente.

nombrebase -a /inicio/usuario/Escritorio/examen1.pdf /inicio/usuario/Escritorio/examen2.pdf /inicio/usuario/Escritorio/examen3.pdf

Producción:

 

Método 2: Usar la sustitución de parámetros de Bash

En este método, almacenamos la ruta en una variable y luego eliminamos la parte de la ruta antes del último «/» usando el siguiente comando.

$ filepath="/home/user/Desktop/exam1.pdf"
$ filename=${filepath##*/}
$ echo $filename

Producción:

 

Publicación traducida automáticamente

Artículo escrito por manavsarkar07 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *