Recentemente eu descobri que minha conta corporativa no Google, que uso pra gerenciar o loureiro.eng.br no geral, custa muito caro pra aumentar o tamanho do storage. Mas muito.
Então resolvi voltar a usar minha conta genérica do Google/Gmail pra colocar fotos e tudo mais que estava entupindo meu espaço virtual no loureiro.eng.br e afetando o serviço de email entre outras coisas.
Passei então a baixar os albuns que tinha lá, abrir o arquivo em formato zip, extrair os dados e subir na conta genérica que agora tem 200 GB de espaço.
Mas eis que...
$ unzip Sexta-feira\ de\ manhã-001.zip Archive: Sexta-feira de manhã-001.zip checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2787_1553588194745_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2815_1553588196860_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2733_1553287304138_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2765_1553588192848_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2805_1553588196125_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2766_1553588192990_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2804_1553588196053_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2737_1553287304362_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2816_1553588196891_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2772_1553588193399_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2789_1553588194826_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2792_1553588195166_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2802_1553588195831_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2769_1553588193183_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2735_1553287304243_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2764_1553588192788_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2809_1553588196428_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2793_1553588195213_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2781_1553588194244_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2814_1553588196818_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2785_1553588194565_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2784_1553588194484_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2812_1553588196668_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2779_1553588194000_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2813_1553588196753_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2771_1553588193350_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2770_1553588193282_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2734_1553287304192_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2776_1553588193839_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2811_1553588196578_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2782_1553588194320_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2732_1553287303926_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2810_1553588196503_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2774_1553588193500_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2780_1553588194048_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2795_1553588195371_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2736_1553287304300_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2808_1553588196356_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2767_1553588193040_high.JPG. checkdir error: cannot create Sexta-feira de manh+� Illegal byte sequence unable to process Sexta-feira de manh+�/GOPR2817_1553588197051_high.MP4.
Um erro de utf-8 no MacOS. O nome do álbum é "Sexta-feira de manhã". É, faltou um pouco de criatividade aqui. E o unzip no MacOS não consegue de jeito nenhum resolver isso. Mais provavelmente por limitação do APFS, o filesystem da Apple (que não é lá grande coisa).
Buscando na Internet achei uma referência aqui: https://github.com/adamhathcock/sharpcompress/issues/315
Então basicamente eu usei o "ditto" pra resolver meu problema.
$ mkdir recuperação $ cd recuperação/ $ ditto -V -x -k --sequesterRsrc --rsrc ../Sexta-feira\ de\ manhã-001.zip . >>> Copying ../Sexta-feira de manhã-001.zip copying file Sexta-feira de manhã/GOPR2787_1553588194745_high.JPG ... 467431 bytes for Sexta-feira de manhã/GOPR2787_1553588194745_high.JPG copying file Sexta-feira de manhã/GOPR2815_1553588196860_high.JPG ... 510835 bytes for Sexta-feira de manhã/GOPR2815_1553588196860_high.JPG copying file Sexta-feira de manhã/GOPR2733_1553287304138_high.JPG ... 761484 bytes for Sexta-feira de manhã/GOPR2733_1553287304138_high.JPG copying file Sexta-feira de manhã/GOPR2765_1553588192848_high.JPG ... 468822 bytes for Sexta-feira de manhã/GOPR2765_1553588192848_high.JPG copying file Sexta-feira de manhã/GOPR2805_1553588196125_high.JPG ... 787425 bytes for Sexta-feira de manhã/GOPR2805_1553588196125_high.JPG copying file Sexta-feira de manhã/GOPR2766_1553588192990_high.JPG ... 1058611 bytes for Sexta-feira de manhã/GOPR2766_1553588192990_high.JPG copying file Sexta-feira de manhã/GOPR2804_1553588196053_high.JPG ... 995234 bytes for Sexta-feira de manhã/GOPR2804_1553588196053_high.JPG copying file Sexta-feira de manhã/GOPR2737_1553287304362_high.JPG ... 1011534 bytes for Sexta-feira de manhã/GOPR2737_1553287304362_high.JPG copying file Sexta-feira de manhã/GOPR2816_1553588196891_high.JPG ... 511600 bytes for Sexta-feira de manhã/GOPR2816_1553588196891_high.JPG copying file Sexta-feira de manhã/GOPR2772_1553588193399_high.JPG ... 823201 bytes for Sexta-feira de manhã/GOPR2772_1553588193399_high.JPG copying file Sexta-feira de manhã/GOPR2789_1553588194826_high.JPG ... 822008 bytes for Sexta-feira de manhã/GOPR2789_1553588194826_high.JPG copying file Sexta-feira de manhã/GOPR2792_1553588195166_high.JPG ... 1876322 bytes for Sexta-feira de manhã/GOPR2792_1553588195166_high.JPG copying file Sexta-feira de manhã/GOPR2802_1553588195831_high.JPG ... 914018 bytes for Sexta-feira de manhã/GOPR2802_1553588195831_high.JPG copying file Sexta-feira de manhã/GOPR2769_1553588193183_high.JPG ... 675609 bytes for Sexta-feira de manhã/GOPR2769_1553588193183_high.JPG copying file Sexta-feira de manhã/GOPR2735_1553287304243_high.JPG ... 1699626 bytes for Sexta-feira de manhã/GOPR2735_1553287304243_high.JPG copying file Sexta-feira de manhã/GOPR2764_1553588192788_high.JPG ... 2014672 bytes for Sexta-feira de manhã/GOPR2764_1553588192788_high.JPG copying file Sexta-feira de manhã/GOPR2809_1553588196428_high.JPG ... 2000556 bytes for Sexta-feira de manhã/GOPR2809_1553588196428_high.JPG copying file Sexta-feira de manhã/GOPR2793_1553588195213_high.JPG ... 988673 bytes for Sexta-feira de manhã/GOPR2793_1553588195213_high.JPG copying file Sexta-feira de manhã/GOPR2781_1553588194244_high.JPG ... 2254617 bytes for Sexta-feira de manhã/GOPR2781_1553588194244_high.JPG copying file Sexta-feira de manhã/GOPR2814_1553588196818_high.JPG ... 1815341 bytes for Sexta-feira de manhã/GOPR2814_1553588196818_high.JPG copying file Sexta-feira de manhã/GOPR2785_1553588194565_high.JPG ... 2126053 bytes for Sexta-feira de manhã/GOPR2785_1553588194565_high.JPG copying file Sexta-feira de manhã/GOPR2784_1553588194484_high.JPG ... 1961346 bytes for Sexta-feira de manhã/GOPR2784_1553588194484_high.JPG copying file Sexta-feira de manhã/GOPR2812_1553588196668_high.JPG ... 1007050 bytes for Sexta-feira de manhã/GOPR2812_1553588196668_high.JPG copying file Sexta-feira de manhã/GOPR2779_1553588194000_high.JPG ... 1612054 bytes for Sexta-feira de manhã/GOPR2779_1553588194000_high.JPG copying file Sexta-feira de manhã/GOPR2813_1553588196753_high.JPG ... 2126066 bytes for Sexta-feira de manhã/GOPR2813_1553588196753_high.JPG copying file Sexta-feira de manhã/GOPR2771_1553588193350_high.JPG ... 378743 bytes for Sexta-feira de manhã/GOPR2771_1553588193350_high.JPG copying file Sexta-feira de manhã/GOPR2770_1553588193282_high.JPG ... 1995866 bytes for Sexta-feira de manhã/GOPR2770_1553588193282_high.JPG copying file Sexta-feira de manhã/GOPR2734_1553287304192_high.JPG ... 1689565 bytes for Sexta-feira de manhã/GOPR2734_1553287304192_high.JPG copying file Sexta-feira de manhã/GOPR2776_1553588193839_high.JPG ... 1793406 bytes for Sexta-feira de manhã/GOPR2776_1553588193839_high.JPG copying file Sexta-feira de manhã/GOPR2811_1553588196578_high.JPG ... 2326771 bytes for Sexta-feira de manhã/GOPR2811_1553588196578_high.JPG copying file Sexta-feira de manhã/GOPR2782_1553588194320_high.JPG ... 2258922 bytes for Sexta-feira de manhã/GOPR2782_1553588194320_high.JPG copying file Sexta-feira de manhã/GOPR2732_1553287303926_high.JPG ... 2001698 bytes for Sexta-feira de manhã/GOPR2732_1553287303926_high.JPG copying file Sexta-feira de manhã/GOPR2810_1553588196503_high.JPG ... 2709410 bytes for Sexta-feira de manhã/GOPR2810_1553588196503_high.JPG copying file Sexta-feira de manhã/GOPR2774_1553588193500_high.JPG ... 2058495 bytes for Sexta-feira de manhã/GOPR2774_1553588193500_high.JPG copying file Sexta-feira de manhã/GOPR2780_1553588194048_high.JPG ... 1882808 bytes for Sexta-feira de manhã/GOPR2780_1553588194048_high.JPG copying file Sexta-feira de manhã/GOPR2795_1553588195371_high.JPG ... 2403193 bytes for Sexta-feira de manhã/GOPR2795_1553588195371_high.JPG copying file Sexta-feira de manhã/GOPR2736_1553287304300_high.JPG ... 1576599 bytes for Sexta-feira de manhã/GOPR2736_1553287304300_high.JPG copying file Sexta-feira de manhã/GOPR2808_1553588196356_high.JPG ... 2032676 bytes for Sexta-feira de manhã/GOPR2808_1553588196356_high.JPG copying file Sexta-feira de manhã/GOPR2767_1553588193040_high.JPG ... 2080346 bytes for Sexta-feira de manhã/GOPR2767_1553588193040_high.JPG copying file Sexta-feira de manhã/GOPR2817_1553588197051_high.MP4 ... 351123 bytes for Sexta-feira de manhã/GOPR2817_1553588197051_high.MP4
Nada muito simples, mas funciona e fica aqui registrado pra futura referência.
ditto -V -x -k --sequesterRsrc --rsrc arquivo.zip diretório_destino