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

Basisname-Befehl unter Linux

basename ist ein Befehlszeilenprogramm, das Verzeichnisse und nachgestellte Suffixe von gegebenen Dateinamen entfernt.

Verwenden des basename Befehl #

Der basename Der Befehl unterstützt zwei Syntaxformate:

basename NAME [SUFFIX]
basename OPTION... NAME...

basename nimmt einen Dateinamen und gibt die letzte Komponente des Dateinamens aus. Optional kann es auch alle nachgestellten Suffixe entfernen. Es ist ein einfacher Befehl, der nur wenige Optionen akzeptiert.

Das einfachste Beispiel ist die Ausgabe des Dateinamens mit entfernten führenden Verzeichnissen:

basename /etc/passwd

Die Ausgabe enthält den Dateinamen:

passwd

Der basename entfernt alle nachgestellten / Zeichen:

basename /usr/local/basename /usr/local

Beide Befehle erzeugen dieselbe Ausgabe:

local
local

Standardmäßig endet jede Ausgabezeile mit einem Zeilenumbruchzeichen. Beenden Sie die Zeilen mit NUL verwenden Sie das -z (--zero )-Option.

Mehrere Eingänge #

Der basename Der Befehl kann mehrere Namen als Argumente akzeptieren. Rufen Sie dazu den Befehl mit dem -a auf (--multiple ) Option, gefolgt von der durch Leerzeichen getrennten Liste der Dateien.

Zum Beispiel, um die Dateinamen von /etc/passwd zu erhalten und /etc/shadow Sie würden Folgendes ausführen:

basename -a /etc/passwd /etc/shadow
passwd
shadow

Entfernen eines nachgestellten Suffix #

Um ein nachgestelltes Suffix aus dem Dateinamen zu entfernen, übergeben Sie das Suffix als zweites Argument:

basename /etc/hostname name
host

Im Allgemeinen wird diese Funktion verwendet, um Dateierweiterungen zu entfernen:

basename /etc/sysctl.conf .conf
sysctl

Eine andere Möglichkeit, ein nachgestelltes Suffix zu entfernen, besteht darin, das Suffix mit dem -s anzugeben (--suffix=SUFFIX ) Option:

basename -s .conf /etc/sysctl.conf
sysctl

Mit dieser Syntaxform können Sie jedes nachgestellte Suffix von mehreren Namen entfernen:

basename -a -s .conf /etc/sysctl.conf /etc/sudo.conf
sysctl
sudo

Beispiel #

Das folgende Beispiel zeigt, wie der basename verwendet wird Befehl innerhalb einer Bash for Schleife, um alle Dateien mit der Endung „.jpeg“ im aktuellen Verzeichnis umzubenennen, indem die Dateierweiterung von „.jpeg“ in „.jpg“ ersetzt wird:

for file in *.jpeg; do
    mv -- "$file" "$(basename $file .jpeg).jpg"
done

Wenn Sie bash als Shell verwenden, statt basename aufzurufen , können Sie die abschließende Erweiterung mithilfe der Shell-Parametererweiterung entfernen.

Schlussfolgerung #

Der basename Der Befehl entfernt alle führenden Verzeichnisse und abschließenden Suffixe aus dem Namen.

Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.


Linux
  1. Linux ifconfig-Befehl

  2. Linux-mv-Befehl

  3. Linux-Du-Befehl

  4. Linux-IP-Befehl

  5. Linux-cd-Befehl

Kostenloser Befehl unter Linux

Sudo-Befehl unter Linux

Suchen Sie Command in Linux

W-Befehl unter Linux

Bei Befehl unter Linux

Df-Befehl unter Linux