Merhaba insan, benim küçük kedi resimlerimi kurtarmak istiyorum


9

Not: Durumda sunulan her şey tamamen sahte ve meydan okumayı biraz daha eğlenceli hale getirmek için buraya konmuştu;) ... Ya da belki de değil;)


=== === İLETİMİ BAŞLAT === ===

Merhaba,
yakın zamanda bir disk hatası yaşadım. Umarım yedek aldım ve şimdi fotoğraflarımı geri istiyorum. Ancak, HER yedekleme yaşadığım paralel evrende bozuk görünüyor. Ancak bu bir sorun değil, çünkü kullanıcının dosyalarını geri bulmasına yardımcı olacak özel araçlarımız vardı. Biraz sizinki gibi çalışırlar ve görüntülere benzeyen başlıklar için bir diskin etrafına bakarlar. Hala beta sürümünde olduklarından, yazılım bulduğu herhangi bir görüntüyü kurtarır, rastgele bir ad verir ve aşağıdakileri içeren bir liste çıkarır:

  • Fotoğrafı çeken kameranın modeli veya -yoksa tek bir fotoğraf . Modelin boşluk içerebileceğini unutmayın, ancak hayır -.

  • Bir sekme karakteri ( \t, ASCII 9)

  • Fotoğraf dosyasının adı.

Dosya standart bir metin dosyasıdır ve şöyle görünür:

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

Dosya oldukça büyük ve modeli olan tüm dosyaları ayrı bir dizinde taşımak için küçük Ubro'uma güvenemiyorum.


Sevgili İnsan, yardımına ihtiyacım var. Kamera hakkındaki verileri içeren tüm fotoğrafları ayrı bir dizinde taşımanızı istiyorum, böylece küçük sevimli kedi resimlerimi bu ikon karmaşasından, ekran görüntülerinden bulabilirdim ...

Ancak, bu yedeklemeler My LiquidStateDrive46X üzerinde gerçekleşiyor, bu yüzden çok fazla alanım kalmadı (ve aslında interneti indiriyorum, bu nedenle, bunu yaparken başka bir şey indirmek zor. zar zor internette gezin ve bulduğum tek kişi sensin!)

Bu şekilde yaşamama izin verme! Lütfen, benim için işi yapacak küçük bir program yaz ve biraz Ubro kurtar.


  • Bu kod golf olduğundan, en kısa program kazanır

  • Size programı başlatmak lazım, İNSAN! Bu nedenle, programınızın mevcut bir tercümanı olduğundan emin olun.

  • Liste dosyasının, komut dosyanızı başlattığım dizinde olmasını bekleyebilirsiniz. Adı ./list.txt olacak

  • Görüntüleri ./withmodel/ adresine taşımanız gerekir

  • Kurtarılan her görüntü, programınızı başlattığım dizinde aynı dizinde

  • Adında hiçbir görüntü yok. Kamera modelleri için de aynı şey geçerli

  • Basit bir işlev değil, gerçek bir program olması gerekir.

  • İnternet erişimi yok, İNDİRİM! Bu gerçekten önemli.

  • Hızlı bir şekilde kedi görüntülerime ihtiyacım var, ya da hayatta kalamam: Bu kod golfü 10 Ekim'de sona erecek, eğer bugün hala hayattaysam.

=== === İLETİM SONU === ===


Zorluğun gönderildiği tarihe kadar bir tercüman olan herhangi bir dili kullanabilirsiniz, bu yüzden standart bir boşluk gibi görünüyor, evet. Ben bu konuda çok fazla kısıtlamak istemiyorum ...
WayToDoor

Tamam, bence bu çizgiyi biraz daha net olacak şekilde düzenledim. Eğer beğenmezseniz, geri dönmekten çekinmeyin.
FryAmTheEggman

3
Bu mükemmel;)! Teşekkürler!
WayToDoor

Bir cevap koydum, ama merak ediyorum bir şey eksik mi? Bunun neden internet erişimine ihtiyacı olabilir ? Diskin fazla yer kalmaması önemli mi? Bu önemli bir " ayrı bir dizinde modeli olan tüm dosyayı taşımak için benim küçük Ubro güvenemiyorum "?
TessellatingHeckler

Bu internet gerekir. Bu durumda sadece kuralı koydum ... Diskte fazla yer kalmadı => mümkün olan en kısa programı yazın. Ve Ubro saf hikaye anlatımı, önemli değil
WayToDoor

Yanıtlar:


9

PowerShell (sürüm 4), 58 49 bayt

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


# Previous 58 byte version
(gc list.txt)-notmatch'^-'-replace".+`t"|mv -des withmodel
  • listenin içeriği alın
  • kamera modellerini sekmeye kadar hiçbir şeyle değiştirmeden çıkarın. Bu, "-" ile başlayan satırları değiştirmez.
  • move komutuna, 'withmodel' hedef klasörüne girin. Bu, "-" ile başlayan değişmeyen satırlar için birçok hataya neden olur, ancak dosyalardan hiçbirinin adında "-" olmadığı için yanlış dosyaları taşımaz, sadece doğru dosyalar taşınacaktır.

2
Kutsal saçmalık ... Neredeyse aynı şey vardı. Son olarak, PowerShell'in neredeyse tasarlandığı bir zorluk ve biraz fazla yavaştım. +1.
AdmBorkBork

1
@TimmyD Gerçekten; golf için özellikle büyük değil, ama aynı anda birden fazla şey üzerinde "-relace" ve "| mv" çalışma yolu ile, bu onun en güçlü alanlarından biri olmak zorunda.
TessellatingHeckler
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.