msoliver
(usa Debian)
Enviado em 22/08/2019 - 17:14h
Skylen escreveu:
Boa tarde,
Ryuk, deu certo a sugestão que passou. Obrigado a todos pela ajuda!!!!
msoliver, testei sua sugestão, essa foi a saída do programa:
Arq: opus-1.3.1.tar.gz Nome: opus-1 Ext: 3.1.tar.gz
Caso modifique 2 por 4, ou seja, para o quarto ponto:
exts=$(cut -d'.' -f4- <<< $arq)
Saída:
Arq: opus-1.3.1.tar.gz Nome: opus-1 Ext: tar.gz
Mas para dar certo tenho que modificar para:
exts=$(echo $arq | rev | cut -c 1-7 | rev)
nome=$(echo $arq | rev | cut -d '.' -f1,2 --complement | rev)
Saída:
Arq: opus-1.3.1.tar.gz Nome: opus-1.3.1 Ext: .tar.gz
Porém o verdadeiro problema é que cada extensão tem um tamanho diferente
teria que criar uma variável para cada tipo
Boa tarde Skylen.
Desculpe a falha.... Não previ o "." "
ponto " no nome do arquivo......
Nesse caso devemos contar a quantidade de "campos" usando o "ponto" como separador,
e, caso tenha mais de 3 campos, pegar sempre os dois últimos como extensão.
Exemplo:
#NC=Quantidade de Campos
arq="opus-1.3.1.tar.gz"
NC=$(awk -F'.' '{print NF}' <<< $arq);
if ((NC>3));then
ext=$(cut -d'.' -f$((NC-1))- <<< $arq)
nome=$(cut -d'.' -f1,-$((NC-2)) <<< $arq
else
nome=$(cut -d'.' -f1 <<< $arq)
ext=$(cut -d'.' -f2- <<< $arq)
fi
A alteração foi incluída no script da postagem Nº 10
Importante => echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver