Eu usei "descompacte XXX.zip" para extrair um arquivo zip, infelizmente, eu cometo um erro.
Agora eu quero excluir todos os arquivos e diretórios gerados por "descompacte".
Como posso desfazer isso?
usa isto:
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -v {}
Use isso se você for cético (solicitará confirmação)
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -iv {}
-i
edição :).awk '{print $4}'
- um nome de arquivo com espaços pode estar$4 $5 $6 ...
. :)unzip -l foo.zip | awk 'NR>3{print $NF}' | egrep -v '\--|files'|xargs rm -r
Você está em uma situação difícil; o
zipinfo(1)
utilitário padrão não fornece nenhum mecanismo para obter nomes de arquivos inequívocos de um arquivo morto. Mas você pode chegar perto:Se você tiver certeza de que nenhum dos arquivos possui novas linhas, remova a
-i
opçãorm(1)
(que certamente será tediosa).fonte
Faz o trabalho porque
-Z
chama ozipinfo
utilitário e a-1
opção para imprimir apenas nomes de arquivosVocê pode encontrar mais detalhes sobre isso através de
man unzip
eman 1 zipinfo
comandosfonte
Se você deseja limpar seu diretório após descompactar acidentalmente sem criar uma pasta primeiro, crie a pasta, descompacte e, em seguida, faça o seguinte:
"` "é super útil para encadear comandos, mas é muito literal.
Os comentários melhoraram esta resposta. Se você deseja garantir a remoção de arquivos ocultos também (o que provavelmente faz), faça isso
fonte
ls -a
).ls -A
.
..
Para fazer isso no Nautilus (sem a linha de comando), você pode simplesmente navegar para onde você extraiu acidentalmente os arquivos, classificá-los clicando na guia "Modificado" e selecionar e excluir todos os arquivos rotulados na hora exata em que executou o comando descompactar.
fonte
fonte