Domanda

Come posso estrarre l'ultima directory di un'uscita pwd? Non voglio usare alcuna conoscenza di quanti livelli ci sono nella struttura di directory. Se avessi voluto usare quello, avrei potuto fare qualcosa di simile:

> pwd
/home/kiki/dev/my_project
> pwd | cut -d'/' -f5
my_project

Ma voglio utilizzare un comando che funziona indipendentemente da dove mi trovo nella struttura di directory. Presumo ci sia un semplice comando per fare questo usando awk o sed.

È stato utile?

Soluzione

Sei alla ricerca di basename o nomedir ?

Qualcosa di simile

basename "`pwd`"

dovrebbe essere quello che vuoi sapere.

Se ti ostini a usare sed, si potrebbe anche usare

pwd | sed 's#.*/##'

Altri suggerimenti

Se si vuole fare completamente all'interno di uno script bash senza correre alcun binari esterni, ${PWD##*/} dovrebbe funzionare.

dovrebbe funzionare per voi: pwd | rev | cut -f1 -d'/' - | rev

Riferimento: https://stackoverflow.com/a/31728689/663058

Utilizzando awk:

pwd | awk -F/ '{print $NF}'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top