Ciao umano, voglio recuperare le mie piccole foto di gatti


9

NB: Tutto ciò che si presenta nella situazione è totalmente falso ed è stato appena messo qui per rendere la sfida un po 'più divertente;) ... O forse no;)


=== === INIZIO TRASMISSIONE === ===

Ciao, di
recente ho avuto un errore del disco. Spero di avere dei backup e ora rivoglio le mie foto. Tuttavia, OGNI backup sembra corrotto nell'universo parallelo in cui vivo. Ma questo non è un problema, perché avevamo strumenti speciali per aiutare l'utente a ritrovare i propri file. Funzionano un po 'come i tuoi e si guardano intorno su un disco per le intestazioni che sembrano immagini. Dato che sono ancora in beta, il software recupera qualsiasi immagine trovata, gli dà un nome casuale e genera un elenco contenente:

  • Il modello della fotocamera che ha scattato la foto o un singolo -se non disponibile. Si noti che il modello potrebbe contenere spazi, ma no -.

  • Un carattere tab ( \t, ASCII 9)

  • Il nome del file di foto.

Il file è un file di testo standard e si presenta così:

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

Il file è piuttosto grande e non posso fare affidamento sul mio piccolo Ubro per spostare tutti i file che hanno un modello in una directory separata.


Caro Umano, ho bisogno del tuo aiuto. Voglio che tu sposti tutte le foto che contengono dati sulla fotocamera in una directory separata, così ho potuto trovare le mie piccole immagini di gatti carini da questo casino di icone, schermate ...

Tuttavia, questi backup sono in esecuzione su My LiquidStateDrive46X, quindi non mi rimane molto spazio (e sto effettivamente scaricando Internet, quindi, sai, è difficile scaricare qualcos'altro mentre lo faccio. Posso solo naviga a malapena sul web e tu sei l'unico che ho trovato, umano!)

Non lasciarmi vivere così! Per favore, scrivimi un piccolo programma che farà il lavoro per me e risparmierà un po 'di Ubro.


  • Poiché si tratta di code-golf, vince il programma più breve

  • Devo essere in grado di lanciare il tuo programma, UMANO! Quindi assicurati che il tuo programma abbia un interprete esistente.

  • Puoi aspettarti che il file dell'elenco si trovi nella directory in cui lancio lo script. Si chiamerà ./list.txt

  • Devi spostare le immagini in ./withmodel/

  • Ogni immagine recuperata si trova nella stessa directory da cui avvio il programma

  • Nessuna immagine ha un - nel suo nome. Lo stesso vale per i modelli di fotocamere

  • Deve essere un vero programma, non una semplice funzione.

  • Nessun accesso a Internet, sto SCARICANDO! Questo è davvero importante.

  • Ho bisogno delle immagini dei miei gatti in fretta, o non riesco a sopravvivere: questo code-golf finirà il 10 ottobre, se sono ancora vivo in questo giorno.

=== === FINE TRASMISSIONE === ===


Puoi usare qualsiasi lingua che abbia un interprete al momento della pubblicazione della sfida, quindi sembra una scappatoia standard, sì. Non voglio limitare troppo a questo ...
WayToDoor,

Ok, ho modificato quella riga per essere un po 'più chiaro, secondo me. Se non ti piace, sentiti libero di tornare indietro.
FryAmTheEggman,

3
È puuuurfect;)! Grazie!
WayToDoor,

Ho dato una risposta, ma mi chiedo se mi manca qualcosa. Perché potrebbe essere necessario l'accesso a Internet? È importante che non sia rimasto molto spazio sul disco? È significativo " Non posso fare affidamento sul mio piccolo Ubro per spostare tutti i file che hanno un modello in una directory separata "?
TessellatingHeckler,

Questo non dovrebbe aver bisogno di Internet. Ho appena messo la regola nel caso ... Il disco non ha molto spazio a sinistra => scrivi il programma più breve possibile. E l'Ubro è pura narrazione, non è significativo
WayToDoor,

Risposte:


9

PowerShell (v4), 58 49 byte

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


# Previous 58 byte version
(gc list.txt)-notmatch'^-'-replace".+`t"|mv -des withmodel
  • get-content dell'elenco
  • rimuovi i modelli di fotocamera fino alla scheda sostituendoli con nulla. Questo non cambierà le righe che iniziano con "-".
  • inserire il comando move, cartella di destinazione 'withmodel'. Questo colpirà molti errori per le righe invariate che iniziano con "-", ma poiché nessuno dei file ha un "-" nel nome, che non sposterà alcun file errato, verranno spostati solo i file giusti.

2
Santa merda ... Avevo quasi la stessa identica cosa. Infine, una sfida che PowerShell è quasi progettato per, e io ero un po 'leggero troppo lento. Prendi un +1.
AdmBorkBork,

1
@TimmyD Effettivamente; non è particolarmente adatto per il golf, ma con il modo in cui "-replace" e "| mv" funzionano su più cose contemporaneamente, questa deve essere una delle sue aree più forti.
TessellatingHeckler,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.