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