Extraia o último diretório de uma saída PWD
Pergunta
Como faço para extrair o último diretório de uma saída PWD? Não quero usar nenhum conhecimento de quantos níveis existem na estrutura do diretório. Se eu quisesse usar isso, eu poderia fazer algo como:
> pwd
/home/kiki/dev/my_project
> pwd | cut -d'/' -f5
my_project
Mas quero usar um comando que funcione, independentemente de onde estou na estrutura do diretório. Presumo que exista um comando simples para fazer isso usando awk ou sed.
Solução
Você está procurando nome de base ou Dirname?
Algo como
basename "`pwd`"
deve ser o que você quer saber.
Se você insistir em usar sed
, você também pode usar
pwd | sed 's#.*/##'
Outras dicas
Se você quiser fazer isso completamente dentro de um script bash sem executar binários externos, ${PWD##*/}
Deveria trabalhar.
Deve trabalhar para você:pwd | rev | cut -f1 -d'/' - | rev
Referência:https://stackoverflow.com/a/31728689/663058
Usando AWK:
pwd | awk -F/ '{print $NF}'