Como esta questão está marcada com bash , aqui está um script bash com loop de estilo C e ${variable:beginning:offset} de expansão de parâmetro para extrair caracteres individuais
#!/usr/bin/env bash
substring=""
for ((i=0;i<=${#1};i++))
do
substring="$substring""${1:$i:1}"
if [[ "$substring" == *.jar ]]
then
echo "$substring"
substring=""
fi
done
Isso funciona assim em ação:
$ ./parse_string.sh test1/test2/Test.jar/Test2.jar/com/test/ui/GI.class
test1/test2/Test.jar
/Test2.jar
Se quisermos extrair apenas a primeira ocorrência, adicione break na linha após substring="" dentro de if declaração