Hier is een uitsplitsing van het vinden van de uitbreiding van een bestand in Unix, samen met uitleg en voorbeelden:
1. Met behulp van `basename` en` echo`
- opdracht:
`` `bash
echo $ (basename bestandsnaam.extension .extension)
`` `
- Verklaring:
- `basename bestandsnaam.extension`:extraheert de bestandsnaam zonder het pad.
- `.extension`:dit deel verwijdert de opgegeven extensie.
- `echo`:drukt het resultaat af naar de terminal.
- Voorbeeld:
`` `bash
echo $ (basename my_document.pdf .pdf)
`` `
Uitgang: my_document
2. Met behulp van `awk`
- opdracht:
`` `bash
awk -f. '{print $ nf}' bestandsnaam.extension
`` `
- Verklaring:
- `awk`:een krachtig tool voor tekstverwerking.
- `-f.`:stelt de veldafscheider in op een periode (.), Waardoor de bestandsnaam van de extensie wordt gescheiden.
- `'{print $ nf}'`:drukt het laatste veld af (`$ nf`), wat de extensie is.
- Voorbeeld:
`` `bash
awk -f. '{print $ nf}' my_document.pdf
`` `
Uitgang: PDF
3. Met behulp van `cut`
- opdracht:
`` `bash
Cut -d. -f2 bestandsnaam.extensie
`` `
- Verklaring:
- `Cut`:een opdracht voor het extraheren van secties van een bestand.
- `-D.`:stelt de scheidingsteken in op een periode (.).
- `-f2`:extraheert het tweede veld, wat de extensie is.
- Voorbeeld:
`` `bash
Cut -d. -f2 my_document.pdf
`` `
Uitgang: PDF
het kiezen van de juiste methode
- `basename` en` echo` zijn goed voor eenvoudige gevallen waarin u de extensie kent die u wilt verwijderen.
- `awk` en` cut` zijn veelzijdiger en kunnen bestandsnamen met meerdere periodes of complexe uitbreidingen verwerken.
belangrijke opmerkingen:
- Bestand bestaan: Zorg ervoor dat het bestand u probeert de extensie te extraheren.
- Meerdere extensies: Als een bestand meerdere stippen heeft (bijv. `Report.data.txt`), zullen deze methoden alleen het laatste deel retourneren. Mogelijk moet u een meer complexe aanpak gebruiken als u een specifieke extensie wilt extraheren.
Laat het me weten als je nog meer vragen hebt of meer geavanceerde scenario's wilt verkennen! |