Il percorso completo di un file in Linux si riferisce all'indirizzo completo, comprese le directory e le sottodirectory, utilizzando le quali è possibile individuare il file. Ogni sistema operativo ha diverse varianti del percorso completo di un file.
In Linux, è simile al seguente:
/home/user/Documents/test.txt
Questo è il percorso completo del file test.txt .
Quando si gestisce manualmente un percorso di file, è facile ottenere il nome del file, ma se si utilizza uno script per una sorta di automazione, potrebbe essere necessario estrarre il nome del file in determinati scenari.
Vediamo come possiamo estrarre il nome del file dal percorso completo in Linux.
Utilizzo del comando Basename
L'intero scopo del comando basename è recuperare il nome del file da un percorso di file. Sebbene non sia troppo difficile ottenere il nome del file da un percorso completo, basename lo fa automaticamente per te e non devi affrontare il problema di analizzare il percorso del file, ecc.
La sintassi è:
$ basename full_file_path $ basename /var/log/syslog [example command]
Usa il -a
un argomento per passare più percorsi.
$ basename -a /var/log/syslog /var/log/dpkg.log
Utilizzo della sostituzione dei parametri Bash
Sostituzioni dei parametri Bash sono un modo per modificare una variabile al volo. Quindi, per usare questo metodo, dobbiamo memorizzare il percorso del file in una variabile.
$ fullpath="/var/log/syslog"
Ora applicheremo la sostituzione dei parametri e memorizzeremo il valore in un'altra variabile.
$ filename=${fullpath##*/} $ echo $filename
Fondamentalmente ciò che fa è che:distrugge la parte prima dell'ultimo ‘/’
in "percorso completo ' e mantiene solo il resto della stringa, che non è altro che il nome del file.
Conclusione
In questo articolo, abbiamo appreso due modi per ottenere un nome file da un percorso file completo in Linux. Se vuoi saperne di più sul comando basename e parametro sostituzioni in Bash, assicurati di scorrere le rispettive pagine man con:
$ man basename $ man bash
Grazie per la lettura e facci sapere i tuoi pensieri e le tue domande qui sotto!