Como extrair nome de arquivo e extensão no Bash

Como Extrair Nome De Arquivo E Extensao No Bash



Bash é um poderoso shell de linha de comando comumente usado em sistemas operacionais Linux e Unix. Uma tarefa comum ao trabalhar com arquivos no Bash é extrair o nome do arquivo e a extensão de um caminho de arquivo. Este artigo discutirá como extrair o nome do arquivo e a extensão no Bash e fornecerá exemplos de como usar esses valores em seus scripts.

Extraindo o nome do arquivo e a extensão no Bash

Existem várias maneiras de extrair o nome do arquivo e a extensão no Bash, aqui estão três métodos comuns:







1: Usando o Comando Basename

O nome base O comando retorna o nome do arquivo de um caminho de arquivo e extrai o nome do arquivo e a extensão. Você pode usar o nome base comando com o -sufixo opção, que remove o sufixo especificado do nome do arquivo como no código abaixo:



#!/bin/bash
# Exemplo de caminho de arquivo
caminho de arquivo = '/caminho/para/arquivo.txt'

# Extrai o nome do arquivo
nome do arquivo =$ ( nome base $file_path )

# Extrair extensão
extensão = ' ${filename##*.} '

eco 'Nome do arquivo: $arquivo '
eco 'Extensão: $extensão '







2: Usando a Expansão de Parâmetros

O expansão de parâmetro A sintaxe é um recurso poderoso do Bash que permite manipular strings. Para extrair o nome do arquivo e a extensão usando a expansão de parâmetros, você pode usar o ${parâmetro##palavra} sintaxe, que remove a correspondência mais longa do padrão especificado desde o início do parâmetro como no código abaixo:

#!/bin/bash
# Exemplo de caminho de arquivo
caminho de arquivo = '/caminho/para/arquivo.txt'
# Extrai o nome do arquivo
nome do arquivo = ' ${file_path##*/} '
# Extrair extensão
extensão = ' ${filename##*.} '
eco 'Nome do arquivo: $arquivo '
eco 'Extensão: $extensão '



3: Usando a Variável IFS (Internal Field Separator)

O Variável IFS é usado pelo Bash para dividir strings em campos, definindo o Variável IFS ao separador de caminho (“/”). Você pode extrair o nome do arquivo e a extensão de um caminho de arquivo por meio dessa variável usando o código abaixo:

#!/bin/bash
# Exemplo de caminho de arquivo
caminho de arquivo = '/caminho/para/arquivo.txt'
# Defina IFS como '/'
IFS = '/' ler -r -a peças <<< ' $file_path '

# Extrai o nome do arquivo
nome do arquivo = ' ${partes[-1]} '
# Extrair extensão
extensão = ' ${filename##*.} '
eco 'Nome do arquivo: $arquivo '
eco 'Extensão: $extensão '

Conclusão

Extrair o nome do arquivo e a extensão de um caminho de arquivo é uma tarefa comum ao trabalhar com arquivos no Bash. Este artigo discutiu três métodos comuns para extrair o nome do arquivo e a extensão no Bash. Usando o nome base comando, o expansão de parâmetro sintaxe, ou o Variável IFS , você pode extrair rápida e facilmente os valores de nome de arquivo e extensão de um caminho de arquivo.