$ find /path/to -mindepth 1 -maxdepth 1 -exec sh -c '
[ -d "$1" ] && printf "%s/\n" "${1##*/}" || printf "%s\n" "${1##*/}" ' _ {} \;
aDirectory/
afile
Explicações:
-
[ -d "$1" ]
, isso verifica se é um diretório , se sim, então execute seguido porprintf
:printf "%s/\n" "${1##*/}"
else, corra abaixo de
printf
:printf "%s\n" "${1##*/}"
-
${1##*/}
: isso remove a coincidência mais longa de tudo*
até a última barra/
visto começar do início do caminho do arquivo / diretório, o que resultará apenas no último nome do diretório / arquivo.
-