Eu conheço três maneiras de fazer isso. Eu assumirei que o caminho é passado como stdin.
Método 1
echo "/sample/xyz/logs/test.logs" | cut -d / -f 3
Isso corta a entrada com o delimitador especificado com -d /
e escolhe o terceiro campo, que é a parte xyz que você deseja.
Método 2
echo "/sample/xyz/logs/test.logs" | awk -F / '{print $3}'
awk é um comando muito poderoso com o qual você pode escrever uma lógica bastante complexa. Você pode usá-lo desta forma simples para fazer o mesmo que o método 1.
Método 3
echo "/sample/xyz/logs/test.logs" | sed -r 's/^\/\w+\/(\w+)\/.*//g'
Usando sed
com expressão regular, você omite a primeira barra, depois a palavra junto com a seguinte barra. Pegue a palavra que vem depois da segunda barra e remova o resto.
Como você pode ver, a complexidade aumenta em relação aos métodos.