GNU/Linux >> Znalost Linux >  >> Linux

Jak získat název souboru z úplné cesty v Linuxu

Úplná cesta k souboru v Linuxu odkazuje na úplnou adresu včetně adresářů a podadresářů, pomocí kterých lze soubor najít. Každý operační systém má různé varianty úplné cesty k souboru.

V Linuxu to vypadá asi takto:

/home/user/Documents/test.txt

Toto je úplná cesta k souboru test.txt .

Při ručním zpracování cesty k souboru je snadné získat název souboru, ale pokud používáte skript pro nějaký druh automatizace, možná budete muset v určitých scénářích název souboru extrahovat.

Podívejme se, jak můžeme extrahovat název souboru z úplné cesty v Linuxu.

Použití příkazu Basename

Celý účel příkazu basename je získat název souboru z cesty k souboru. Ačkoli není příliš obtížné získat název souboru z úplné cesty, basename to automaticky udělá za vás a vy se nemusíte trápit s analýzou cesty k souboru atd.

Syntaxe je:

$ basename full_file_path
$ basename /var/log/syslog   [example command]

Použijte -a argument pro předání více cest.

$ basename -a /var/log/syslog /var/log/dpkg.log

Použití substituce parametrů Bash

Náhrady parametrů Bash představují způsob, jak měnit proměnnou za běhu. Proto, abychom mohli použít tuto metodu, musíme uložit cestu k souboru do proměnné.

$ fullpath="/var/log/syslog"

Nyní použijeme substituci parametru a uložíme hodnotu do jiné proměnné.

$ filename=${fullpath##*/}
$ echo $filename

V podstatě to dělá to, že:skartuje část před posledním ‘/’ v „úplné cestě “ a zachová zbytek řetězce, což není nic jiného než název souboru.

Závěr

V tomto článku jsme se dozvěděli o dvou způsobech, jak získat název souboru z úplné cesty k souboru v Linuxu. Pokud se chcete dozvědět více o příkazu basename a parametr substituce v Bash, ujistěte se, že procházíte jejich příslušné manuálové stránky pomocí:

$ man basename
$ man bash

Děkujeme za přečtení a níže nám sdělte své myšlenky a otázky!


Linux
  1. Jak zobrazit úplnou cestu k souboru nebo adresáři v terminálu?

  2. Jak získat úplnou cestu k souboru?

  3. Jak najít úplnou cestu k programu C++ Linux zevnitř?

  1. Jak přidat soubor .so do java.library.path v Linuxu

  2. Jak získat název hostitele z IP (Linux)?

  3. Jak získat adresu URL souboru Dropbox z příkazového řádku?

  1. Linux:Jak získat všechny přihlašovací protokoly ze systému?

  2. Linux – jak přimět Sar, aby se ukazovala za předchozí den?

  3. Jak získat fyzickou velikost souboru v Linuxu?