Como extrair o nome do arquivo e extensão em Bash

Como extrair o nome do arquivo e extensão em Bash

Bash é um shell poderoso da linha de comando que é comumente usado em sistemas operacionais Linux e Unix. Uma tarefa comum ao trabalhar com arquivos em 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 do Bash e fornecerá exemplos de como usar esses valores em seus scripts.

Extraindo o nome do arquivo e extensão em Bash

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

  • Usando o comando de nome da base
  • Usando expansão de parâmetros
  • Usando a variável ifs (separador de campo interno)

1: Usando o comando de nome da base

O nome de 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 de 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 do arquivo
file_path = "/caminho/para/arquivo.TXT"
# Extrair nome do arquivo
nome do arquivo = $ (nome de base $ file_path)
# Extrato de extensão
extension = "$ nome do arquivo ##*. "
eco "nome do arquivo: $ filename"
eco "Extensão: $ extensão"

2: Usando a expansão do parâmetro

O Expansão de parâmetros A sintaxe é uma característica poderosa do Bash que permite manipular strings. Para extrair o nome do arquivo e extensão usando a expansão dos parâmetros, você pode usar o $ parâmetro ## word 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 do arquivo
file_path = "/caminho/para/arquivo.TXT"
# Extrair nome do arquivo
filename = "$ file_path ##*/"
# Extrato de extensão
extension = "$ nome do arquivo ##*. "
eco "nome do arquivo: $ filename"
eco "Extensão: $ extensão"

3: Usando a variável ifs (separador de campo interno)

O Variável IFS é usado por Bash para dividir as cordas em campos, definindo o Variável IFS para o separador de caminho ("/"). Você pode extrair o nome do arquivo e a extensão de um caminho de arquivo através dessa variável usando o código abaixo:

#!/BIN/BASH
# Exemplo de caminho do arquivo
file_path = "/caminho/para/arquivo.TXT"
# Defina ifs como "/"
Ifs = "/" read -r -a peças <<< "$file_path"
# Extrair nome do arquivo
filename = "$ partes [-1]"
# Extrato de extensão
extension = "$ nome do arquivo ##*. "
eco "nome do arquivo: $ filename"
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 em bash. Este artigo discutiu três métodos comuns para extrair o nome do arquivo e a extensão em Bash. Usando o nome de base comando, o Expansão de parâmetros sintaxe, ou o Variável IFS, Você pode extrair rápida e facilmente os valores do nome do arquivo e de extensão de um caminho de arquivo.