Estou tentando corrigir meu primeiro script bash e, a certa altura, um nome de arquivo é passado para o script como $1
. Preciso extrair o nome do arquivo sem a extensão.
Atualmente, estou assumindo que todas as extensões são três letras, então removo os últimos 4 caracteres para obter o nome do arquivo:
a="${1:0:-4}"
Mas preciso trabalhar com extensões com mais de três caracteres, como %~n1
no Windows.
Existe alguma maneira de extrair o nome do arquivo sem a extensão dos argumentos?