Em um shell script, preciso saber qual o nome do arquivo com extensão appimage dentro de um arquivo zip.
zip de exemplo:
https://github.com/balena-io/etcher/releases/download/v1.5.121/balena-etcher-electron-1.5.121-linux-x64.zip
Usando esse comando
$nome_unziped=unzip -l balena-etcher-electron-1.5.121-linux-x64.zip | grep -m1 -i .appimage$
retorna isso:
96119860 2021-07-05 15:35 balenaEtcher-1.5.121-x64.AppImage
eu preciso que $nome_unziped tenha esse valor
$nome_unziped=balenaEtcher-1.5.121-x64.AppImage
Como obter esse valor via shell script?
Pode usar o cut ou outro comando
Exemplo
cut -d " " -f 4
2 curtidas
Além do que o @swatquest falou, outra opção é o comando zipinfo
que (ao menos no Arch Linux) vem junto do unzip
:
zipinfo -1 arquivo.zip | grep -m1 -i '\.appimage$'
(mudei um pouco o padrão porque, tecnicamente, no grep
e outros interpretadores de expressões regulares, .
significa “qualquer caractere”, então um arquivo chamado “Readme-AppImage” poderia ser pego também.)
Aliás, você está usando Perl? A sintaxe é pra ser nome_unzipped=$(zipinfo -1 ...); echo "$nome_unzipped"
, só em Perl que $variavel
é usado tanto para dar quanto para extrair uma variável.
3 curtidas
Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.