Você precisa remover a barra final antes de imprimir o último campo com awk. Caso contrário, o último campo estará vazio.
Use
echo "$url" | sed -e 's#/$##' -e 's/\.git$//' | awk -F / '{print $NF}'
ou até mesmo
echo "$url" | sed -e 's#/$##' -e 's/\.git$//' -e 's#^.*/##'
Dicas:
- Você pode fornecer vários comandos
sed
para uma chamada de sed. Por isso, às vezes não é necessário canalizar desed
parased
. Osed -e 'cmd1' -e 'cmd2' ...
oused 'cmd1;cmd2;...'
funcionará. - Você pode usar um delimitador diferente para o comando
s
desed
, para não ter que escapar de barras no padrão (usei#
como delimitador).