Hier finden Sie eine Aufschlüsselung, wie Sie die Erweiterung einer Datei in UNIX finden, zusammen mit Erklärungen und Beispielen:
1. Verwenden von `Basename und` echo`
- Befehl:
`` `bash
Echo $ (Basename Dateiname
`` `
- Erläuterung:
- `BasisName Dateiname
- `.extesion":Dieser Teil beseitigt die angegebene Erweiterung.
- `echo`:druckt das Ergebnis zum Terminal.
- Beispiel:
`` `bash
Echo $ (Basename my_document.pdf .pdf)
`` `
Ausgabe: my_document
2. Verwenden Sie aw awk`
- Befehl:
`` `bash
awk -f. '{print $ nf}' Dateiname.extension
`` `
- Erläuterung:
- `awk`:ein leistungsstarkes Textverarbeitungswerkzeug.
- `-f.`:Legt das Feldtrennzeichen auf einen Zeitraum (.) Legt, wobei der Dateinamen von der Erweiterung getrennt wird.
- `'{print $ nf}'`:druckt das letzte Feld (`$ nf`), das ist die Erweiterung.
- Beispiel:
`` `bash
awk -f. '{print $ nf}' my_document.pdf
`` `
Ausgabe: PDF
3. Verwenden von `cut`
- Befehl:
`` `bash
Schnitt -d. -f2 Dateiname.Extension
`` `
- Erläuterung:
- `cut`:Ein Befehl zum Extrahieren von Abschnitten einer Datei.
- `-d.`:Setzt den Trennzeichen auf einen Zeitraum (.).
- `-f2`:extrahiert das zweite Feld, das die Erweiterung ist.
- Beispiel:
`` `bash
Schnitt -d. -f2 my_document.pdf
`` `
Ausgabe: PDF
Auswählen der richtigen Methode
- `BasisName` und` echo` sind gut für einfache Fälle, in denen Sie die Erweiterung kennen, die Sie entfernen möchten.
- `awk` und` cut` sind vielseitiger und können Dateinamen mit mehreren Perioden oder komplexen Erweiterungen verarbeiten.
Wichtige Hinweise:
- Datei Existenz: Stellen Sie sicher, dass die Datei, die Sie versuchen, die Erweiterung aus tatsächlich zu extrahieren.
- Mehrfacherfahrungen: Wenn eine Datei mehrere Punkte hat (z. B. `report.data.txt`), gibt diese Methoden nur den letzten Teil zurück. Möglicherweise müssen Sie einen komplexeren Ansatz verwenden, wenn Sie eine bestimmte Erweiterung extrahieren möchten.
Lassen Sie mich wissen, ob Sie weitere Fragen haben oder fortgeschrittenere Szenarien erkunden möchten!