Existe um sinalizador que posso passar para o zipinfo
comando para listar o conteúdo de um arquivo não recursivamente?
Por exemplo, se o arquivo de destino contiver três diretórios, que por sua vez contêm cinco diretórios vazios cada, não quero que o comando retorne quinze elementos, mas apenas os três diretórios "top" ou " primeiro nível " .
Como isso pode ser alcançado?
Para o formato de arquivo zip, as coisas não são "recursivas". Lá, há simplesmente uma lista de arquivos, cujos nomes contêm barras (ou mais geralmente, separadores de caminho).
Portanto, há realmente 15 entradas "flat" em seu zip: os 15 diretórios "folha". Os diretórios acima estão implícitos, pois fazem parte do caminho destes.
Portanto, para encontrar todos os diretórios de nível superior, você deve passar por todas as entradas e extrair o primeiro componente do caminho e, em seguida, remover as duplicatas.
Algumas coisas a serem observadas
mksquashfs
, você pode apenas criar arquivos que compactam geralmente melhor e podem ser montados diretamente usandoudisksctl loop-setup -f archive.squashfs
(e se necessárioudisksctl mount /dev/loopN
depois) ou apenasmkdir mntdir; sudo mount -o loop archive.squashfs mountdir
, e então você pode apenas usar seu gerenciamento de arquivo usual (dels
para seu navegador de arquivos favorito) para inspecionar o conteúdo a um custo quase zero.