


Zusammenfassung einiger Methoden zum Extrahieren von Dateinamen und Verzeichnisnamen in der Linux-Shell
Bei Verwendung der Linux-Shell müssen wir häufig Dateinamen oder Verzeichnisnamen verarbeiten. Die üblichen Vorgänge bestehen darin, den Dateinamen aus dem Pfad zu extrahieren, den Verzeichnisnamen aus dem Pfad zu extrahieren, den Dateisuffixnamen zu extrahieren usw. . Extrahieren Sie beispielsweise den Dateinamen file.txt aus dem Pfad /dir1/dir2/file.txt, extrahieren Sie das Verzeichnis /dir1/dir2, extrahieren Sie das Dateisuffix txt usw.
Im Folgenden werden zwei häufig verwendete Methoden zur Durchführung verwandter Vorgänge vorgestellt.
1. Verwenden Sie ${}
1 ${var##*/}
Die Funktion dieses Befehls besteht darin, das letzte ' von der linken Seite zu entfernen Variable var /'-Zeichen und sein linker Inhalt geben den rechten Inhalt des letzten '/' (mit Ausnahme dieses Zeichens) von links zurück. Anwendungsbeispiele und Ergebnisse sind wie folgt:
Wie Sie den laufenden Ergebnissen entnehmen können, können wir mit diesem Befehl den Dateinamen file.txt extrahieren, den wir benötigen.
Bei Verwendung in einer Shell-Programmdatei können Sie Variablen verwenden, um das Ergebnis zu speichern und es dann zu verwenden, z. B. file=${var##*/}
2, ${var # #*.}
Die Funktion dieses Befehls besteht darin, das letzte '.'-Zeichen links von der Variablen var und den Inhalt links davon zu entfernen und das letzte '.' zurückzugeben links (enthält dieses Zeichen nicht). Anwendungsbeispiele und Ergebnisse sind wie folgt:
Wie Sie den laufenden Ergebnissen entnehmen können, können wir mit diesem Befehl das benötigte Dateisuffix extrahieren.
Wenn die Datei mehr als ein Suffix hat, zum Beispiel file.tar.gz, kann der Befehl ${var##*.} nur das letzte Suffix extrahieren, und was soll ich tun, wenn ich möchte? tar.gz extrahieren? Dann müssen Sie den unten erwähnten Befehl ${var#*.} verwenden.
3. ${var#*.}
Die Funktion dieses Befehls besteht darin, das erste „.“ von der linken Seite der Variablen var und den Inhalt zu entfernen left Gibt den Inhalt rechts vom ersten „.“ (mit Ausnahme dieses Zeichens) von links zurück. Anwendungsbeispiele und Ergebnisse sind wie folgt:
Wie Sie den laufenden Ergebnissen entnehmen können, können mit diesem Befehl mehrere Suffixe von Dateien extrahiert werden.
4. ${var%/*}
Die Verwendung dieses Befehls besteht darin, das erste „/“-Zeichen rechts von der Variablen var und den Inhalt zu entfernen right Gibt den Inhalt links vom ersten „/“ (mit Ausnahme dieses Zeichens) von rechts zurück. Anwendungsbeispiele und Ergebnisse sind wie folgt:
Wie Sie den laufenden Ergebnissen entnehmen können, können wir mit diesem Befehl das Verzeichnis extrahieren, in dem sich die benötigten Dateien befinden
5 , ${var%%.*}
Die Verwendung dieses Befehls besteht darin, das letzte „.“ von der rechten Seite der Variablen var und ihren Inhalt auf der rechten Seite zu entfernen. und geben Sie das letzte „.“-Zeichen von der rechten Seite der Variablen var zurück. Anwendungsbeispiele und Ergebnisse sind wie folgt:
Wenn wir ein Verzeichnis mit demselben Namen wie der Dateiname (ohne Suffix) erstellen müssen, der der entsprechenden Datei entspricht, können wir dies tun Verwenden Sie diesen Befehl zum Bedienen. Die Situation beim Dekomprimieren von Dateien ist beispielsweise ähnlich. Wenn wir die Datei file.zip komprimieren, wird ein Verzeichnis mit dem Namen file im selben Verzeichnis wie file.zip erstellt.
6. Zusammenfassung von ${}
Tatsächlich wird ${} nicht speziell zum Extrahieren von Dateinamen oder Verzeichnisnamen verwendet. Es wird zum Extrahieren und Ersetzen von Variablen verwendet. usw. Es kann eine Menge Inhalt extrahieren, nicht unbedingt „/“ oder „.“ in den fünf Beispielen oben. Mit anderen Worten, die obige Verwendungsmethode ist nur ein Sonderfall ihrer Verwendung.
Wenn man die oben genannten Befehle sieht, kann es sehr schwierig sein, sie zu verstehen und zu merken. Tatsächlich sind sie alle normal.
#: Stellt den ersten von links dar
%: Stellt den Ersten von rechts dar
##: Stellt den dar letztes
von links: Stellt das letzte
von rechts dar. Mit anderen Worten bedeutet # immer, von links zu zählen das Richtige.
*: Gibt den zu löschenden Inhalt an. Im Fall von # und ## befindet er sich links vom angegebenen Zeichen (im Beispiel „/“ und „.“), was bedeutet, dass das angegebene Zeichen gelöscht wird und der Inhalt links davon; Im Fall von % und %% befindet es sich auf der rechten Seite des angegebenen Zeichens ('/' und '.' im Beispiel), was darauf hinweist, dass das angegebene Zeichen und der Inhalt dazu gehören rechts werden gelöscht. Die Positionen von „*“ können hier nicht vertauscht werden, d. h. das *-Zeichen darf nicht rechts von # oder ## platziert werden und umgekehrt.
Zum Beispiel: ${var%%x*} bedeutet, das letzte Zeichen x von rechts zu finden und das Zeichen x und die Zeichen rechts davon zu löschen.
Wenn Sie dies sehen, können Sie erkennen, dass dieser Befehl tatsächlich sehr vielseitig ist. Das Obige sind nur einige Sonderfälle zum Extrahieren der Benennungseigenschaften von Zeigerdateinamen und Verzeichnisnamen.
2. basename und dirname
${} sind keine Befehle, die speziell zum Extrahieren von Dateinamen und Verzeichnisnamen entwickelt wurden, daher sind die Befehle basename und dirname speziell dafür konzipiert .
1. Basisname
Die Funktion dieses Befehls besteht darin, den Dateinamen aus dem Pfad zu extrahieren. Die Verwendungsmethode ist Basisname NAME [SUFFIX].
1) Extrahieren Sie den Dateinamen (mit Suffix) aus dem Pfad. Das Beispiel lautet wie folgt:
2) Wie Sie an der Verwendung erkennen können des obigen Befehls ist das Suffix (SUFFIX) optional. Wenn Sie also nur den Dateinamen ohne Suffix extrahieren möchten, können Sie den Suffixnamen auch nach der Variablen hinzufügen. Das Beispiel lautet wie folgt:
2. dirname
Die Funktion dieses Befehls besteht darin, den Verzeichnisnamen aus dem Pfad zu extrahieren. Die Verwendungsmethode ist dirname NAME
Das Verwendungsbeispiel lautet wie folgt:
Auf diese Weise wird das Verzeichnis extrahiert, in dem sich die Datei file.txt befindet.
Hinweis: Dieser Befehl kann nicht nur das Verzeichnis extrahieren, in dem sich normale Dateien befinden, sondern auch das Verzeichnis, in dem sich eine beliebige Datei befindet, beispielsweise das Verzeichnis, in dem sich das Verzeichnis befindet, wie folgt:
Es extrahiert das Verzeichnis dir1, in dem sich das Verzeichnis dir2 befindet.
Das Obige ist der gesamte Inhalt dieses Artikels Lernen, und ich hoffe auch, dass jeder die chinesische PHP-Website unterstützt.
Eine weitere Linux-Shell-Zusammenfassung einiger Methoden zum Extrahieren von Dateinamen und Verzeichnisnamen finden Sie auf der chinesischen PHP-Website für verwandte Artikel!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Laravel vereinfacht die Behandlung von temporären Sitzungsdaten mithilfe seiner intuitiven Flash -Methoden. Dies ist perfekt zum Anzeigen von kurzen Nachrichten, Warnungen oder Benachrichtigungen in Ihrer Anwendung. Die Daten bestehen nur für die nachfolgende Anfrage standardmäßig: $ Anfrage-

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

Laravel bietet eine kurze HTTP -Antwortsimulationssyntax und vereinfache HTTP -Interaktionstests. Dieser Ansatz reduziert die Code -Redundanz erheblich, während Ihre Testsimulation intuitiver wird. Die grundlegende Implementierung bietet eine Vielzahl von Verknüpfungen zum Antworttyp: Verwenden Sie Illuminate \ Support \ facades \ http; Http :: fake ([ 'Google.com' => 'Hallo Welt',, 'github.com' => ['foo' => 'bar'], 'Forge.laravel.com' =>

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

Die PHP -Protokollierung ist für die Überwachung und Debugie von Webanwendungen von wesentlicher Bedeutung sowie für das Erfassen kritischer Ereignisse, Fehler und Laufzeitverhalten. Es bietet wertvolle Einblicke in die Systemleistung, hilft bei der Identifizierung von Problemen und unterstützt eine schnellere Fehlerbehebung

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.
