Cómo extraer el nombre del archivo y la extensión en Bash

Cómo extraer el nombre del archivo y la extensión en Bash

Bash es un poderoso shell de línea de comandos que se usa comúnmente en los sistemas operativos Linux y Unix. Una tarea común cuando se trabaja con archivos en Bash es extraer el nombre de archivo y la extensión de una ruta de archivo. Este artículo discutirá cómo extraer el nombre de archivo y la extensión en Bash y proporcionar ejemplos de cómo usar estos valores en sus scripts.

Extraer el nombre de archivo y la extensión en Bash

Hay varias formas de extraer el nombre de archivo y la extensión en Bash, aquí hay tres métodos comunes:

  • Usando el comando Basename
  • Usando la expansión de los parámetros
  • Uso de la variable IFS (separador de campo interno)

1: Usando el comando Basename

El nombre de base El comando devuelve el nombre de archivo de una ruta de archivo y extrae el nombre de archivo y la extensión. Puedes usar el nombre de base comando con el -sufijo Opción, que elimina el sufijo especificado del nombre de archivo como en el código dado a continuación:

#!/bin/bash
# Ruta de archivo de ejemplo
file_path = "/path/to/file.TXT"
# Extraer el nombre de archivo
FileName = $ (Basename $ file_path)
# Extensión de extracción
extensión = "$ nombre de archivo ##*. "
echo "nombre de archivo: $ nombre de archivo"
Echo "Extensión: $ extensión"

2: Usando la expansión de los parámetros

El expansión de parámetros La sintaxis es una característica poderosa de Bash que le permite manipular cuerdas. Para extraer el nombre de archivo y la extensión utilizando la expansión de los parámetros, puede usar el $ parámetro ## palabra Sintaxis, que elimina la coincidencia más larga del patrón especificado desde el comienzo del parámetro como en el código a continuación:

#!/bin/bash
# Ruta de archivo de ejemplo
file_path = "/path/to/file.TXT"
# Extraer el nombre de archivo
FileName = "$ file_path ##*/"
# Extensión de extracción
extensión = "$ nombre de archivo ##*. "
echo "nombre de archivo: $ nombre de archivo"
Echo "Extensión: $ extensión"

3: Uso de la variable IFS (separador de campo interno)

El Variable IFS es utilizado por bash para dividir las cuerdas en los campos estableciendo el Variable IFS al separador de ruta ("/"). Puede extraer el nombre de archivo y la extensión de una ruta de archivo a través de esta variable utilizando el código dado a continuación:

#!/bin/bash
# Ruta de archivo de ejemplo
file_path = "/path/to/file.TXT"
# Establezca IFS en "/"
Ifs = "/" Read -r -A Parts <<< "$file_path"
# Extraer el nombre de archivo
FileName = "$ Parts [-1]"
# Extensión de extracción
extensión = "$ nombre de archivo ##*. "
echo "nombre de archivo: $ nombre de archivo"
Echo "Extensión: $ extensión"

Conclusión

Extraer el nombre de archivo y la extensión de una ruta de archivo es una tarea común cuando se trabaja con archivos en bash. Este artículo discutió tres métodos comunes para extraer el nombre de archivo y la extensión en Bash. Mediante el uso del nombre de base comando, el expansión de parámetros sintaxis o el Variable IFS, Puede extraer rápida y fácilmente los valores de nombre de archivo y extensión de una ruta de archivo.