GNU/Linux >> Linux Esercitazione >  >> Linux

Linux basename Command Tutorial per principianti (con esempi)

A volte, mentre lavori sulla riga di comando (soprattutto quando hai a che fare con gli script della shell), potresti essere interessato solo al nome del file, ma ciò che è disponibile per te è il percorso completo del file. Quindi, il requisito è rimuovere il componente della directory del percorso. Sarai felice di sapere che esiste un comando - basename - che fa questo lavoro.

In questo tutorial, discuteremo le basi di 'basename' usando alcuni esempi di facile comprensione. Ma prima di passare a questo, vale la pena ricordare che tutti gli esempi qui sono stati testati su una macchina Ubuntu 16.04 LTS.

Comando Linux basename

Il comando basename ti consente di rimuovere i componenti dai nomi di file che non sono richiesti. Di seguito è riportata la sintassi dello strumento:

basename NAME [SUFFIX]
basename OPTION... NAME...

Ed ecco cosa dice la pagina man a riguardo:

basename - strip directory and suffix from filenames

Print NAME with any leading directory components removed. If specified, also remove a trailing
SUFFIX.
finale

Di seguito sono riportati alcuni esempi in stile Q&A che dovrebbero darti una buona idea su come funziona il comando basename.

Q1. Come funziona il comando basename?

Per impostazione predefinita, se esegui il comando 'basename' con un percorso completo di un file come input, il comando restituisce il nome del file in output. Ad esempio, quando ho eseguito il seguente comando:

basename /home/himanshu/Downloads/analytics.pdf

Ho ottenuto il seguente output:

analytics.pdf

Q2. Basename può gestire più input?

Sì, può. Ma affinché ciò avvenga, è necessario utilizzare l'opzione della riga di comando -a. Ad esempio, quando ho eseguito il seguente comando:

basename -a /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png

Ed ecco l'output che ho ottenuto:

analytics.pdf
test.png

T3. Come creare anche un'estensione del file strip del nome di base?

A volte, potresti voler recuperare solo il nome del file, ma non la sua estensione. Bene, questo può essere fatto usando l'opzione della riga di comando -s (che richiede di passare il suffisso come input).

Ad esempio, il comando seguente:

basename -s .pdf /home/himanshu/Downloads/analytics.pdf

prodotto questo output:

analytics

Q4. Come far terminare ogni uscita di linea con NUL?

Per impostazione predefinita, il carattere di nuova riga viene utilizzato come separatore nell'output. Tuttavia, se lo desideri, puoi forzare basename a utilizzare NUL come separatore. Questo può essere fatto usando l'opzione della riga di comando -z.

Ad esempio:

basename -az /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png

Ed ecco l'output:

analytics.pdftest.png

Quindi non vedi il carattere NUL qui. Per questo, devi reindirizzare l'output su un file, quindi aprire il file in un editor come vim. Ecco cosa ha mostrato vim:

Conclusione

Come puoi vedere, basename non è un comando molto ricco di funzionalità:le opzioni che fornisce sono limitate e la maggior parte di queste è stata discussa qui in questo tutorial. Una volta che hai finito di esercitarti, vai alla pagina man dello strumento per saperne di più.


Linux
  1. Linux expand Command Tutorial per principianti (con esempi)

  2. Linux yes Command Tutorial per principianti (con esempi)

  3. Linux tac Command Tutorial per principianti (con esempi)

  4. Tutorial sui comandi per utenti Linux per principianti (con esempi)

  5. Linux sum Command Tutorial per principianti (con esempi)

Tutorial sui comandi per l'aspetto di Linux per principianti (con esempi)

Esercitazione sui comandi lsattr Linux per principianti (con esempi)

Linux tload Command Tutorial per principianti (con esempi)

Linux znew Command Tutorial per principianti (con esempi)

Tutorial sui comandi Linux zdump per principianti (con esempi)

Linux tr Command Tutorial per principianti (con esempi)