Här är en uppdelning av hur man hittar förlängningen av en fil i UNIX, tillsammans med förklaringar och exempel:
1. Använda `Basename` och` echo`
- kommando:
`` `bash
Echo $ (Basename FileName.Extension. Extension)
`` `
- Förklaring:
- `Basename FileName.Extension ':extraherar filnamnet utan sökvägen.
- `. Extension`:Denna del tar bort den angivna förlängningen.
- `Echo`:skriver ut resultatet till terminalen.
- Exempel:
`` `bash
ECHO $ (BASENAME MY_DOCUMENT.PDF .PDF)
`` `
Utgång: my_document
2. Använda `awk`
- kommando:
`` `bash
awk -f. '{utskrift $ nf}' filnamn.extension
`` `
- Förklaring:
- `Awk`:Ett kraftfullt textbehandlingsverktyg.
- `-f.`:Ställer in fältavskiljaren till en period (.), Separera filnamnet från tillägget.
- `'{print $ nf}'`:skriver ut det sista fältet (`$ nf`), vilket är tillägget.
- Exempel:
`` `bash
awk -f. '{skriva ut $ nf}' my_document.pdf
`` `
Utgång: pdf
3. Använda `cut`
- kommando:
`` `bash
Cut -D. -f2 filnamn.extension
`` `
- Förklaring:
- `cut`:ett kommando för att extrahera avsnitt i en fil.
- `-d.`:Ställer in avgränsaren till en period (.).
- `-f2`:extraherar det andra fältet, vilket är tillägget.
- Exempel:
`` `bash
Cut -D. -f2 my_document.pdf
`` `
Utgång: pdf
Att välja rätt metod
- `Basename` och` echo` är bra för enkla fall där du vet den förlängning du vill ta bort.
- `awk` och` cut` är mer mångsidiga och kan hantera filnamn med flera perioder eller komplexa tillägg.
Viktiga anteckningar:
- Fil existens: Se till att filen du försöker extrahera tillägget från faktiskt finns.
- Flera tillägg: Om en fil har flera prickar (t.ex. `rapport.data.txt`) kommer dessa metoder bara att returnera den sista delen. Du kan behöva använda en mer komplex metod om du vill extrahera en specifik förlängning.
Låt mig veta om du har fler frågor eller vill utforska mer avancerade scenarier!