Quick Bash Tip: come estrarre nome file ed estensione da un path

Continuano le piccole note di bash. Stavolta vediamo un paio di facili comandi per estrarre nome file ed estensione da un path. Inserisco il tutto in un piccolo script che analizza tutti i file nella directory corrente e ne stampa prima il nome e poi l’estensione.

for file in $(ls) ; do
  filename=${file##*/}
  basename=${filename%\.*}
  extension=${filename##*.}
  echo Nome: ${basename}, estensione: ${extension}
done

Ulteriori informazioni (per i non deboli di cuore) a questo indirizzo.

Una risposta a “Quick Bash Tip: come estrarre nome file ed estensione da un path

  1. Anch’io l’ho scoperto su un sito (http://bashcurescancer.com/10-steps-to-beautiful-shell-scripts.html) prima di scoprire che c’è anche nella man page di Bash. Si rivelano comodissimi, non serve passare per sed o awk per fare le operazioni principali su una variabile.
    P.S. Comunque la parte ” filename=${file##*/}” puoi risparmiartela, c’è il comando “basename” che fa proprio questo.
    Ciao e complimenti per il blog, ci sono un sacco di cose interessanti!

Lascia un Commento

Fill in your details below or click an icon to log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Log Out / Modifica )

Foto Twitter

You are commenting using your Twitter account. Log Out / Modifica )

Foto di Facebook

You are commenting using your Facebook account. Log Out / Modifica )

Connecting to %s