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.

Foi útil?

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}'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top