Her er en oversigt over, hvordan man finder udvidelsen af en fil i Unix sammen med forklaringer og eksempler:
1. Brug af `basename` og` echo`
- kommando:
`` `bash
Echo $ (basename filnavn.extension .extension)
`` `
- Forklaring:
- `basename filnavn.extension ':Ekstrakter filnavnet uden stien.
- `.extension`:Denne del fjerner den specificerede udvidelse.
- `Echo`:Udskriver resultatet til terminalen.
- Eksempel:
`` `bash
Echo $ (basename my_document.pdf .pdf)
`` `
output: my_document
2. Brug af `awk`
- kommando:
`` `bash
awk -f. '{Udskriv $ nf}' filnavn.extension
`` `
- Forklaring:
- `Awk`:Et kraftfuldt tekstbehandlingsværktøj.
- `-f.`:Indstiller feltseparatoren til en periode (.), Der adskiller filnavnet fra udvidelsen.
- `'{Print $ nf}'`:Udskriver det sidste felt (`$ NF '), som er udvidelsen.
- Eksempel:
`` `bash
awk -f. '{Print $ nf}' my_document.pdf
`` `
output: PDF
3. Brug af `Cut`
- kommando:
`` `bash
klip -d. -f2 filnavn.extension
`` `
- Forklaring:
- `CUT ':En kommando til udtrækning af sektioner i en fil.
- `-D. ':Indstiller afgrænseren til en periode (.).
- `-f2`:Ekstrakter det andet felt, som er udvidelsen.
- Eksempel:
`` `bash
klip -d. -f2 my_document.pdf
`` `
output: PDF
Valg af den rigtige metode
- `basename` og` echo` er gode til enkle tilfælde, hvor du kender den udvidelse, du vil fjerne.
- `awk` og` klip ' er mere alsidige og kan håndtere filnavne med flere perioder eller komplekse udvidelser.
Vigtige noter:
- Fileksistens: Sørg for, at den fil, du prøver at udtrække udvidelsen fra faktisk, findes.
- Flere udvidelser: Hvis en fil har flere prikker (f.eks. 'Report.data.txt`), returnerer disse metoder kun den sidste del. Det kan være nødvendigt at bruge en mere kompleks tilgang, hvis du vil udtrække en bestemt udvidelse.
Fortæl mig, hvis du har flere spørgsmål eller ønsker at udforske mere avancerede scenarier!