GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo del comando Linux Dirname negli script Bash

Il comando dirname in Linux stampa un percorso di file con il suo componente finale rimosso. Questo sostanzialmente ti dà il percorso della directory dal percorso del file.

Ciò è particolarmente utile negli script bash in cui desideri estrarre il percorso della directory dal percorso del file lungo.

Il comando dirname è complementare al comando basename. Il comando basename estrae il nome del file dal percorso mentre dirname estrae il percorso della directory.

Ve lo mostro con alcuni esempi.

Esempi di comandi Dirname

Il comando dirname ha una sintassi semplice.

dirname OPTION PATH

L'uso del comando dirname con il percorso assoluto di un file darà il percorso della directory:

dirname /home/user/data/filename.txt
/home/user/data

Come il comando basename, anche il comando dirname è davvero stupido. Non riconosce davvero il percorso del file. Cerca solo le barre (/) e stampa tutto ciò che è prima dell'ultima barra. Fondamentalmente, puoi dargli qualsiasi stringa con / in esso e funzionerà su di esso.

Ad esempio, sto usando una stringa casuale qui senza nome di file. Puoi vedere che funziona ancora allo stesso modo e genera una stringa rimuovendo l'ultimo / e il testo dopo di esso.

Se il percorso non contiene una barra (/), genererà un punto (.) che implica la directory corrente.

Puoi anche usare dirname con più percorsi. Restituirà l'output per ogni percorso in una nuova riga:

Puoi usare l'opzione -z per ottenere il risultato nella stessa riga con output separati dal carattere NULL.

Utilizzo di dirname nello script bash

Ho mostrato alcuni esempi del comando dirname. Parliamo dell'uso di dirname negli script bash.

Supponiamo di avere una variabile di percorso del file e di voler ottenere il percorso della directory che contiene il file. Questo potrebbe essere un semplice script:

pathname="/home/dir/data/filename"

result=$(dirname "$pathname")

echo $result

Come accennato in precedenza, il comando dirname è integrato con il comando basename. A differenza di dirname, il comando basename stampa solo l'ultimo componente del percorso.

Spero che questo tutorial ti sia piaciuto. Come sempre, sentiti libero di porre domande o fornire suggerimenti nella sezione commenti.

Ti è piaciuto l'articolo? Per favore condividilo e aiutaci a crescere :)


Linux
  1. Come cancellare la cronologia di Bash su Linux

  2. Comando non trovato in Bash risolto

  3. Utilizzo del comando di sospensione di Linux negli script Bash

  4. Utilizzo del comando Linux Basename negli script Bash

  5. Utilizzo del comando ripgrep (rg) in Linux

Comando della cronologia in Linux (Cronologia di Bash)

Come utilizzare il comando echo negli script Bash in Linux

Tutorial sull'uso del comando Timeout su Linux

Pianifica i lavori in Linux con il comando 'at'

Utilizzo del comando Watch in Linux

Utilizzo di cut su terminale Linux