Witaj człowieku, chcę odzyskać moje zdjęcia małego kota

9

Uwaga: wszystko przedstawione w tej sytuacji jest całkowicie fałszywe i właśnie zostało tu umieszczone, aby wyzwanie było trochę zabawniejsze;) ... A może nie;)


=== === POCZĄTEK TRANSMISJI === ===

Witaj,
niedawno miałem awarię dysku. Mam nadzieję, że miałem kopie zapasowe i teraz chcę odzyskać moje zdjęcia. Jednak KAŻDA kopia zapasowa wygląda na uszkodzoną w równoległym wszechświecie, w którym mieszkam. Ale to nie jest problem, ponieważ mieliśmy specjalne narzędzia, które pomagają użytkownikom znaleźć pliki z powrotem. Działają trochę jak twoje i rozglądają się po dysku w poszukiwaniu nagłówków, które wyglądają jak obrazy. Ponieważ wciąż są w fazie beta, oprogramowanie odzyskuje znaleziony obraz, nadaje mu losową nazwę i wyświetla listę zawierającą:

  • Model aparatu, który wykonał zdjęcie, lub pojedynczy, -jeśli nie jest dostępny. Pamiętaj, że model może zawierać spacje, ale nie -.

  • Znak tab ( \t, ASCII 9)

  • Nazwa pliku zdjęcia.

Plik jest standardowym plikiem tekstowym i wygląda następująco:

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

Plik jest dość duży i nie mogę polegać na moim małym Ubro, aby przenieść wszystkie pliki, które mają model w osobnym katalogu.


Drogi człowieku, potrzebuję twojej pomocy. Chcę, żebyś przeniósł wszystkie zdjęcia, które mają dane o aparacie, do osobnego katalogu, abym mógł znaleźć moje małe słodkie zdjęcia kotów z tego bałaganu ikon, zrzutów ekranu ...

Jednak te kopie zapasowe mają miejsce na My LiquidStateDrive46X, więc nie mam już dużo miejsca (i faktycznie pobieram Internet, więc wiesz, trudno jest pobrać coś innego, robiąc to. Po prostu mogę ledwo surfujesz po Internecie, a ty jesteś jedynym, którego znalazłem, człowieku!)

Nie pozwól mi tak żyć! Proszę, napisz mój mały program, który wykona dla mnie pracę i uratuje trochę Ubro.


  • Ponieważ jest to kod-golf, wygrywa najkrótszy program

  • Muszę móc uruchomić program, CZŁOWIEK! Upewnij się więc, że twój program ma istniejącego tłumacza.

  • Możesz się spodziewać, że plik listy znajdzie się w katalogu, w którym uruchamiam skrypt. Będzie się nazywać ./list.txt

  • Musisz przenieść obrazy do ./withmodel/

  • Każdy odzyskany obraz znajduje się w tym samym katalogu, z którego uruchamiam program

  • Żadne zdjęcie nie ma - w jego imieniu. To samo dotyczy modeli kamer

  • To musi być prawdziwy program, a nie prosta funkcja.

  • Brak dostępu do Internetu, POBIERAM! To jest naprawdę ważne.

  • Potrzebuję moich zdjęć kotów szybko, bo inaczej nie przetrwam: ten golf będzie skończony 10 października, jeśli nadal będę żył tego dnia.

=== === ZAKOŃCZENIE TRANSMISJI === ===

WayToDoor
źródło
Możesz użyć dowolnego języka, w którym jest tłumacz, do czasu opublikowania wyzwania, więc wygląda to na standardową lukę, tak. Nie chcę zbytnio ograniczać tego ...
WayToDoor,
Ok, edytowałem ten wiersz, aby moim zdaniem był bardziej przejrzysty. Jeśli nie podoba ci się, możesz przywrócić.
FryAmTheEggman
3
Jest puuuurfect;)! Dzięki Ci!
WayToDoor,
Odpowiedziałem, ale zastanawiam się, czy coś mi umknęło. Dlaczego może to wymagać dostępu do Internetu? Czy ważne jest, aby na dysku nie pozostało dużo miejsca? Czy to znaczące „ Nie mogę polegać na moim małym Ubro, aby przenieść wszystkie pliki, które mają model w osobnym katalogu.
TessellatingHeckler
To nie powinno wymagać internetu. Po prostu wstawiłem regułę na wypadek ... Na dysku nie ma już dużo miejsca => napisz najkrótszy możliwy program. A Ubro to czysta historia, nie ma znaczenia
WayToDoor,

Odpowiedzi:

9

PowerShell (v4), 58 49 bajtów

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


# Previous 58 byte version
(gc list.txt)-notmatch'^-'-replace".+`t"|mv -des withmodel
  • pobierz zawartość listy
  • usuń modele kamer do zakładki, zastępując je niczym. To nie zmieni wierszy zaczynających się od „-”.
  • potokuj do polecenia przenoszenia, folder docelowy „withmodel”. Spowoduje to wiele błędów dla niezmienionych linii zaczynających się od „-”, ale ponieważ żaden z plików nie ma w nazwie „-”, nie spowoduje to przeniesienia niepoprawnych plików, zostaną przeniesione tylko odpowiednie pliki.
TessellatingHeckler
źródło
2
Cholera jasna ... Miałem prawie dokładnie to samo. Na koniec wyzwanie, dla którego prawie został zaprojektowany PowerShell , a ja byłem trochę za wolny. Masz +1.
AdmBorkBork,
1
@TimmyD Rzeczywiście; nie jest szczególnie świetny do gry w golfa, ale sposób, w jaki „-replace” i „| mv” działają na wielu rzeczach jednocześnie, musi to być jeden z jego najsilniejszych obszarów.
TessellatingHeckler