GNU/Linux >> Znalost Linux >  >> Linux

Jak extrahovat název souboru bez přípony z úplné cesty?

Obvyklým způsobem, jak toho dosáhnout v bash, je použití rozšíření parametrů. (Viz manuálovou stránku bash a vyhledejte "Parameter Expansion".)

a=${1%.*}

% označuje, že vše odpovídá následujícímu vzoru (.* ) zprava, s použitím co nejkratší shody, má být odstraněn z parametru $1 . V tomto případě nepotřebujete uvozovky (") kolem výrazu.


Pokud příponu znáte, můžete použít basename

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

Linux
  1. Získat úplnou cestu ze skriptu Bash?

  2. Bash + Jak opustit sekundární skript a hlavní skript v obou případech?

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

  1. Existují nějaká rozhraní C API pro extrahování názvu základního souboru z jeho úplné cesty v Linuxu?

  2. Jak získat cestu k aktuálnímu souboru (pwd) v Linuxu z C?

  3. Spusťte ls, aniž byste získali úplnou cestu

  1. Jak získat pouze jména z příkazu find bez cesty

  2. Jak odstraním úplnou cestu při provádění komprese tar.gz?

  3. Jak mohu uvést procesy v htop pouze podle jejich názvu, bez úplné cesty?