GNU/Linux >> Linux Esercitazione >  >> Linux

Come estrarre il nome del file senza l'estensione da un percorso completo?

Il solito modo per farlo in bash è usare l'espansione dei parametri. (Vedi la pagina man di bash e cerca "Parameter Expansion".)

a=${1%.*}

Il % indica che tutto ciò che corrisponde al modello seguente (.* ) da destra, utilizzando la corrispondenza più breve possibile, deve essere cancellato dal parametro $1 . In questo caso, non sono necessarie le virgolette (") attorno all'espressione.


Se conosci l'estensione, puoi usare basename

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

Linux
  1. Come escludere alcuni file dal meccanismo di espansione del nome file in Bash?

  2. Estrai il nome base del file senza percorso ed estensione in bash

  3. Esistono API C per estrarre il nome del file di base dal suo percorso completo in Linux?

  4. Come trovare il percorso completo del programma C++ Linux dall'interno?

  5. Come estrarre il file nomefile.tar.gz

Come utilizzare il comando di lettura Bash

Bash break:come uscire da un loop

Come ottenere il nome del file dal percorso completo in Linux

Come ottenere solo nomi dal comando find senza percorso

Come rimuovo il percorso completo quando eseguo una compressione tar.gz?

Come posso elencare i processi in htop solo con il loro nome, senza il percorso completo?