Olá humano, quero recuperar minhas fotos de gatinhos

9

NB: Tudo o que é apresentado na situação é totalmente falso e acabou de ser colocado aqui para tornar o desafio um pouco mais divertido;) ... Ou talvez não;)


=== === INÍCIO DA TRANSMISSÃO === ===

Olá,
recentemente tive uma falha no disco. Espero ter backups e agora quero minhas fotos de volta. No entanto, TODOS os backups parecem corrompidos no universo paralelo em que moro. Mas isso não é um problema, porque tínhamos ferramentas especiais para ajudar o usuário a encontrar seus arquivos de volta. Eles funcionam um pouco como o seu e procuram em um disco cabeçalhos que se parecem com imagens. Como ainda estão na versão beta, o software recupera qualquer imagem encontrada, fornece um nome aleatório e gera uma lista contendo:

  • O modelo da câmera que tirou a foto ou uma única, -se não estiver disponível. Observe que o modelo pode conter espaços, mas não -.

  • Um caractere de tabulação ( \t, ASCII 9)

  • O nome do arquivo de foto.

O arquivo é um arquivo de texto padrão e tem a seguinte aparência:

[...]
-   uyfeiebsvH.jpg
-   hv754ce758.gif
-   8321214736.jpg
-   FgnvsfHJBs.jpg
-   OMGILOVYOU.jpg
-   HElloDearH.png
-   umanHAYYSG.jpg
COOLCAM S1332   umanIAYYSG.jpg
iCell 7G    1234567890.jpg
[...]

O arquivo é bastante grande e não posso confiar no meu pequeno Ubro para mover todos os arquivos que possuem um modelo em um diretório separado.


Querido humano, preciso de sua ajuda. Quero que você mova todas as fotos que contêm dados sobre a câmera em um diretório separado, para que eu possa encontrar minhas pequenas imagens de gatos fofos nessa confusão de ícones, capturas de tela ...

No entanto, esses backups estão ocorrendo no My LiquidStateDrive46X, por isso não tenho muito espaço disponível (e, na verdade, estou baixando a Internet, portanto, é difícil fazer o download de outra coisa enquanto faz isso. mal navega na web e você é o único que encontrei, humano!)

Não me deixe viver assim! Por favor, escreva para mim um pequeno programa que fará o trabalho para mim e economize um pouco de Ubro.


  • Como se trata de código-golfe, o programa mais curto vence

  • Preciso poder lançar seu programa, HUMANO! Portanto, verifique se o seu programa possui um intérprete existente.

  • Você pode esperar que o arquivo de lista esteja no diretório em que inicio seu script. Será nomeado ./list.txt

  • Você precisa mover as imagens para ./withmodel/

  • Todas as imagens recuperadas estão no mesmo diretório a partir do qual inicio o seu programa

  • Nenhuma imagem tem um - em seu nome. O mesmo vale para os modelos de câmera

  • Ele precisa ser um programa real, não uma função simples.

  • Sem acesso à internet, estou baixando! Isso é realmente importante.

  • Preciso das imagens do meu gato rapidamente, ou não consigo sobreviver: esse código-golfe terminará no dia 10 de outubro, se ainda estiver vivo neste dia.

=== === FIM DA TRANSMISSÃO === ===

WayToDoor
fonte
Você pode usar qualquer idioma que tenha um intérprete no momento em que o desafio foi lançado, portanto parece uma brecha padrão, sim. Eu não quero restringir muito sobre isso ...
WayToDoor 5/15
Ok, eu editei essa linha para ficar um pouco mais clara, na minha opinião. Se você não gostar, sinta-se à vontade para reverter.
FryAmTheEggman 05/10
3
É puuuurfect;)! Te agradece!
WayToDoor
Eu dei uma resposta, mas me pergunto se estou perdendo alguma coisa. Por que isso pode precisar de acesso à Internet? É importante que o disco não tenha muito espaço restante? Isso é significativo " Não posso confiar no meu pequeno Ubro para mover todos os arquivos que têm um modelo em um diretório separado ".
TessellatingHeckler
Isso não deveria precisar de internet. Acabei de colocar a regra no caso ... O disco não tem muito espaço = = escreve o programa mais curto possível. E o UBRO é pura narrativa, não é significativa
WayToDoor

Respostas:

9

PowerShell (v4), 58 49 bytes

(gc list.txt)-replace"^[^-]*`t"|mv -des withmodel


# Previous 58 byte version
(gc list.txt)-notmatch'^-'-replace".+`t"|mv -des withmodel
  • get-content da lista
  • remova os modelos de câmera até a guia, substituindo-os por nada. Isso não muda as linhas começando com "-".
  • canal no comando move, pasta de destino 'withmodel'. Isso causará muitos erros nas linhas inalteradas que começam com "-", mas como nenhum dos arquivos possui um "-" no nome, que não moverá nenhum arquivo incorreto, apenas os arquivos corretos serão movidos.
TessellatingHeckler
fonte
2
Puta merda ... Eu tinha quase exatamente a mesma coisa. Finalmente, um desafio para o qual o PowerShell está quase projetado , e eu estava um pouco lento demais. Tenha um +1.
AdmBorkBork
11
@TimmyD Indeed; não é particularmente bom para o golfe, mas com a maneira como "-place" e "| mv" funcionam em várias coisas ao mesmo tempo, essa deve ser uma das áreas mais fortes.
TessellatingHeckler