Verwenden Sie den Befehl "BasisName" zum Lesen von Dateiname
Der Befehl 'BasisName' wird verwendet, um den Dateinamen ohne Erweiterung aus einem Verzeichnis oder Dateipfad zu lesen.
Syntax:
Name des Basisnamens [Suffix]
oder
Basisname -Option… Name…
Hier kann der Name den Dateinamen oder den Dateinamen mit vollem Pfad enthalten. Suffix ist optional und enthält den Dateierweiterungsteil, den der Benutzer entfernen möchte. Der Befehl 'BasisName' enthält einige Optionen, die unten beschrieben werden.
Optionen
Name | Beschreibung |
-A | Es wird verwendet, um mehrere Dateinamen mit Pfad oder ohne Pfad als Befehlsargumente zu übergeben. |
-S | Es wird verwendet, um die Erweiterung als Suffix zu bestehen, das entfernen muss. |
-z | Es wird verwendet, um die mehreren Dateinamen anzuzeigen, indem jede Datei mit NULL getrennt wird. |
-Hilfe | Es wird verwendet, um die Informationen des Befehls "Basenname" anzuzeigen. |
-Ausführung | Es wird verwendet, um die Versionsinformationen anzuzeigen. |
Beispiel 1: Verwenden von Namen und Suffix
Der folgende Befehl "Basenname" wird den Dateinamen mit Erweiterung abrufen. Suffix wird in diesem Befehl weggelassen. Hier ist die Ausgabe 'Produkt.txt'.
$ BASENAME/HOME/FAHMIDA/CODE/PRODUKT.txt
Wenn Sie den Dateinamen ohne Erweiterung abrufen möchten, müssen Sie die Dateierweiterung als Suffix mit dem Befehl "Basenname" angeben. Hier ist die Erweiterung ".txt". Führen Sie den folgenden Befehl aus, um die Erweiterung aus der Datei zu entfernen.
$ BASENAME/HOME/FAHMIDA/CODE/PRODUKT.txt .txt
Beispiel-2: Verwenden von '-a' Option und Name
Die Verwendung des Befehls von '-a' Option des 'Basennamens' wird in diesem Beispiel angezeigt. Hier werden zwei Dateipfade als Argumente mit dem Befehl „Basenname“ übergeben. Jeder Dateiname mit Erweiterung wird vom Pfad abgerufen und nach Newline gedruckt.
$ BasisName -a/home/fahmida/Index.html/home/fahmida/code/emp.txt
Beispiel-3: Verwenden von '-z' Option und Name
Die Option '-z' wird mit dem Befehl 'BasisName' verwendet, um die Mehrfachdateinamen mit Nullwert anstelle von Newline zu drucken. Der folgende Befehl verwendet zwei Optionen zusammen, '-a' und '-z'. Hier zwei Dateinamen, Index.html Und EMP.txt wird ohne Platz oder neue Linie drucken.
$ BASENAME -AZ/HOME/FAHMIDA/INDEX.html/home/fahmida/code/emp.txt
Beispiel-4: Verwenden von '-s' Option und Name
Der folgende Befehl kann als Alternative zum Suffix mit "Basenname" verwendet werden. Die Dateierweiterung muss mit der Option "-sh" übergeben, um die Dateierweiterung aus der Datei zu entfernen. Das folgende Beispiel entfernen die Erweiterung "-Sh" aus der Datei "Addition".Sch'.
$ BASENAME -S .SH Addition.Sch
Beispiel-5: Dateierweiterung ohne Suffix entfernen
Wenn Sie die Erweiterung der Datei, die Sie aus dem Dateinamen entfernen möchten, nicht kennen, hilft Ihnen dieses Beispiel, das Problem zu lösen. Erstellen Sie eine Datei mit dem Namen Read_file.Sch mit dem folgenden Code, um den Dateinamen einer Erweiterung abzurufen. In diesem Beispiel wird der Befehl 'SED' verwendet, um jede Art von Erweiterung aus dem Dateinamen zu entfernen. Wenn Sie das Skript ausführen, ist die Ausgabe 'Durchschnitt"Nach dem Entfernen der Erweiterung"py''.
Read_file.Sch
#!/Bin/Bash
# Setzen Sie den Dateinamen mit Pfad
Dateiname = "/home/fahmida/code/durchschnittlich.py "
# Lesen Sie den Dateinamen ohne Erweiterung mit dem Befehl "Basname" und "SED" ohne Erweiterung
echo "$ (Basename" $ Dateiname "| sed 's/\ (.*\) \… */\ 1/') "
Führen Sie das Skript aus.
$ bash read_file.Sch
Beispiel-6: Die Dateierweiterung von TXT in docx konvertieren
Dateiname ohne Erweiterung muss die Datei von einer Erweiterung in eine andere konvertieren. Dieses Beispiel zeigt, wie Sie die Erweiterung aller Textdateien ändern können (.txt) in die Wortdateien (.docx) mit dem Befehl "Basenname" im Bash -Skript verwendet. Erstellen Sie eine Datei mit dem Namen, convert_file.Sch mit dem folgenden Code. Hier wird eine For-In-Schleife verwendet, um alle Textdateien mit zu lesen “.txt" Erweiterung aus dem aktuellen Verzeichnis. Der Dateiname ohne Erweiterung wird durch den Befehl "Basenname" gelesen und durch Hinzufügen umbenannt ".DOCX ”Erweiterung in jeder Iteration der Schleife.
convert_file.Sch
#!/Bin/Bash
# Die Schleife liest jede Textdatei aus dem aktuellen Verzeichnis
für Dateiname in 'ls *.txt'
Tun
# Drucken Sie den Text -Dateinamen vor der Konvertierung aus
Echo "Dateiname vor der Konvertierung: $ Dateiname"
# Ändern Sie die Erweiterung der Datei txt in docx
MV - "$ Dateiname" "$ (BASENAME -" $ Dateiname " .txt).docx "
Erledigt
Führen Sie das Skript aus.
$ bash convert_file.Sch
Überprüfen Sie, ob die Textdateien konvertiert werden oder nicht, indem Sie den Befehl "LS" verwenden.
$ ls
Beispiel-7: Lesen Sie den Dateinamen ohne Erweiterung mithilfe der Shell-Parameterweiterung
Die Expansion der Shell -Parameter ist eine weitere Möglichkeit, den Dateinamen ohne Erweiterung in Bash zu lesen. Dieses Beispiel zeigt die Verwendung der Shell -Parameterausdehnung. Der folgende Befehl speichert den Datei -Pfadnamen in der Variablen, $Dateinamen.
$ Dateiname = "/var/usr/temp/myfile.Teer.GZ "
Der folgende Befehl entfernen alle Erweiterungsarten aus dem Pfad und speichert den Dateipfad ohne Erweiterung in der Variablen, $ file1.
$ file1 = "$ Dateiname %%.* "
Der folgende Befehl druckt den Dateinamen nur vom Pfad aus. Hier wird die Ausgabe 'meine Datei''.
$ echo "$ file1 ##*/"
Wenn der Dateiname zwei Erweiterungen mit zwei Punkten enthält (.) und Sie möchten den Dateinamen lesen, indem Sie die letzte Erweiterung der Datei entfernen, dann müssen Sie den folgenden Befehl verwenden. Führen Sie den folgenden Befehl aus, der den Dateipfad in die Variable speichert, $ file2 Durch Entfernen der letzten Erweiterung der Datei.
$ file2 = "$ Dateiname%.* "
Führen Sie nun den folgenden Befehl aus, um den Dateinamen mit einem Punkt zu drucken (.) Verlängerung. Hier wird die Ausgabe sein "meine Datei.Teer".
$ echo "$ file2 ##*/"
Dateiname ohne Erweiterung ist für verschiedene Zwecke erforderlich. Einige Verwendungen von Dateinamen ohne Erweiterung werden in diesem Tutorial unter Verwendung einiger Beispiele wie der Dateikonvertierung erläutert. Dieses Tutorial hilft den Benutzern, die interessiert sind, die Möglichkeiten zu lernen, um den Dateinamen und die Erweiterung vom Dateipfad zu trennen. Hier werden zwei Möglichkeiten erklärt. Der Benutzer kann diese Möglichkeiten befolgen, den Dateinamen nur aus dem Dateipfad zu extrahieren.