Aqui está um detalhamento de como encontrar a extensão de um arquivo no Unix, juntamente com explicações e exemplos:
1. Usando `nome de base` e` echo` -
comando: `` `BASH
echo $ (nome do nome da base.extension .Extension)
`` `
-
Explicação: - `Nome do nome da base.extension`:extrai o nome do arquivo sem o caminho.
- `.Extension`:esta parte remove a extensão especificada.
- `eco`:imprime o resultado para o terminal.
-
Exemplo: `` `BASH
echo $ (basename my_document.pdf .pdf)
`` `
Saída: my_document
2. Usando `awk` -
comando: `` `BASH
awk -f. '{print $ nf}' nome do arquivo.extension
`` `
-
Explicação: - `awk`:uma poderosa ferramenta de processamento de texto.
- `-f.`:define o separador de campo como um período (.), Separando o nome do arquivo da extensão.
- `'{print $ nf}'`:imprime o último campo (`$ nf`), que é a extensão.
-
Exemplo: `` `BASH
awk -f. '{print $ nf}' my_document.pdf
`` `
Saída: pdf
3. Usando `cut` -
comando: `` `BASH
corte -d. -f2 filename.extension
`` `
-
Explicação: - `cut`:um comando para extrair seções de um arquivo.
- `-d.`:define o delimitador para um período (.).
- `-f2`:extrai o segundo campo, que é a extensão.
-
Exemplo: `` `BASH
corte -d. -f2 my_document.pdf
`` `
Saída: pdf
Escolhendo o método certo -
`Basename` e` echo` são bons para casos simples em que você conhece a extensão que deseja remover.
-
`awk` e` cut` são mais versáteis e podem lidar com nomes de arquivos com vários períodos ou extensões complexas.
Notas importantes: -
Existência do arquivo: Verifique se o arquivo que você está tentando extrair da extensão realmente existe.
-
Extensões múltiplas: Se um arquivo tiver vários pontos (por exemplo, `report.data.txt`), esses métodos retornarão apenas a última parte. Pode ser necessário usar uma abordagem mais complexa se desejar extrair uma extensão específica.
Deixe -me saber se você tiver mais alguma dúvida ou deseja explorar cenários mais avançados!