GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie extrahiert man den Dateinamen ohne die Erweiterung aus einem vollständigen Pfad?

Der übliche Weg, dies in Bash zu tun, ist die Verwendung von Parametererweiterungen. (Siehe die Bash-Manpage und suchen Sie nach „Parameter Expansion“.)

a=${1%.*}

Der % gibt an, dass alles, was dem folgenden Muster entspricht (.* ) von rechts mit möglichst kurzer Übereinstimmung ist aus dem Parameter $1 zu löschen . In diesem Fall brauchen Sie keine doppelten Anführungszeichen (") um den Ausdruck.


Wenn Sie die Erweiterung kennen, können Sie basename

verwenden
$ basename /home/jsmith/base.wiki .wiki
base

Linux
  1. Wie schließe ich einige Dateien vom Dateinamenerweiterungsmechanismus in Bash aus?

  2. Gibt es C-APIs, um den Basisdateinamen aus seinem vollständigen Pfad in Linux zu extrahieren?

  3. So extrahieren Sie die Datei filename.tar.gz

  4. Wie entpacke ich den Inhalt einer RPM?

  5. Führen Sie ein ls aus, ohne den vollständigen Pfad zu erhalten

So verwenden Sie den Bash-Lesebefehl

Bash Break:So verlassen Sie eine Schleife

So erhalten Sie den Dateinamen aus dem vollständigen Pfad in Linux

Wie finde ich den vollständigen Pfad des C++-Linux-Programms von innen heraus?

Wie bekomme ich den Pfad zur aktuellen Datei (pwd) in Linux von C?

Wie kann ich die letzte Zahl von String in Bash bekommen?