Halo manusia, saya ingin memulihkan foto kucing kecil saya

9

NB: Segala sesuatu yang disajikan dalam situasi itu benar-benar palsu dan baru saja diletakkan di sini untuk membuat tantangannya sedikit lebih menyenangkan;) ... Atau mungkin tidak;)


TRANSMISI AWAL === === AWAL === ===

Halo,
saya baru-baru ini mengalami kegagalan disk. Mudah-mudahan saya punya cadangan dan sekarang saya ingin foto saya kembali. Namun, SETIAP cadangan terlihat rusak di alam semesta paralel tempat saya tinggal. Tapi itu bukan masalah, karena kami memiliki alat khusus untuk membantu pengguna menemukan kembali file mereka. Mereka bekerja sedikit seperti milik Anda, dan melihat-lihat disk untuk header yang terlihat seperti gambar. Karena masih dalam versi beta, perangkat lunak akan memulihkan gambar apa pun yang ditemukannya, memberinya nama acak dan menampilkan daftar yang berisi:

  • Model kamera yang mengambil foto, atau tunggal -jika tidak tersedia. Perhatikan bahwa model dapat berisi spasi, tetapi tidak -.

  • A tab char ( \t, ASCII 9)

  • Nama file foto.

File tersebut adalah file teks standar dan terlihat seperti itu:

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

File ini cukup besar, dan saya tidak bisa mengandalkan Ubro kecil saya untuk memindahkan semua file yang memiliki model dalam direktori terpisah.


Manusia terkasih, saya butuh bantuan Anda. Saya ingin Anda memindahkan semua foto yang memiliki data tentang kamera di direktori terpisah, sehingga saya dapat menemukan gambar kucing kecil saya yang lucu dari kekacauan ikon ini, tangkapan layar ...

Namun, backup ini terjadi di My LiquidStateDrive46X, jadi saya tidak punya banyak ruang tersisa (dan saya sebenarnya mengunduh Internet, jadi, Anda tahu, sulit untuk mengunduh sesuatu yang lain saat melakukan itu. Saya hanya bisa nyaris tidak menjelajahi web dan Anda adalah satu-satunya yang saya temukan, manusia!)

Jangan biarkan aku hidup seperti itu! Tolong, tuliskan program kecil saya yang akan melakukan pekerjaan untuk saya, dan simpan sedikit Ubro.


  • Karena ini adalah kode-golf, program terpendek menang

  • Saya harus dapat meluncurkan program Anda, MANUSIA! Jadi pastikan program Anda memiliki juru bahasa yang ada.

  • Anda dapat mengharapkan file daftar berada di direktori tempat saya meluncurkan skrip Anda. Itu akan dinamai ./list.txt

  • Anda perlu memindahkan gambar ke ./withmodel/

  • Setiap gambar yang dipulihkan berada di direktori yang sama dari tempat saya meluncurkan program Anda

  • Tidak ada gambar yang memiliki - dalam namanya. Hal yang sama berlaku untuk model kamera

  • Itu harus menjadi program nyata, bukan fungsi sederhana.

  • Tidak ada akses internet, saya MENGUNDUH! Ini sangat penting.

  • Saya perlu gambar kucing saya dengan cepat, atau saya tidak bisa bertahan: Golf kode ini akan berakhir pada 10 Oktober, jika saya masih hidup pada hari ini.

=== === AKHIR TRANSMISI === ===

WayToDoor
sumber
Anda dapat menggunakan bahasa apa pun yang memiliki penerjemah pada saat tantangan diposting, jadi sepertinya ada celah standar, ya. Saya tidak ingin membatasi terlalu banyak pada ini ...
WayToDoor
Oke, saya sudah mengedit baris itu menjadi sedikit lebih jelas, menurut saya. Jika Anda tidak suka, silakan kembali.
FryAmTheEggman
3
Ini puuuurfect;)! Terimakasih!
WayToDoor
Saya sudah memberikan jawaban, tetapi saya ingin tahu apakah saya melewatkan sesuatu. Mengapa mungkin akses kebutuhan internet ini? Apakah penting agar disk tidak memiliki banyak ruang tersisa? Apakah ini signifikan " Saya tidak bisa mengandalkan Ubro kecil saya untuk memindahkan semua file yang memiliki model dalam direktori terpisah. "?
TessellatingHeckler 515
Seharusnya ini tidak perlu internet. Saya hanya meletakkan aturan dalam kasus ... Disk tidak memiliki banyak ruang tersisa => tulis program sesingkat mungkin. Dan Ubro itu murni bercerita, itu tidak signifikan
WayToDoor

Jawaban:

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
  • dapatkan-konten dari daftar
  • hapus model kamera hingga tab dengan menggantinya dengan apa-apa. Ini tidak akan mengubah garis yang dimulai dengan "-".
  • pipa ke perintah pindah, folder tujuan 'withmodel'. Ini akan menghasilkan banyak kesalahan untuk baris yang tidak berubah dimulai dengan "-", tetapi karena tidak ada file yang memiliki "-" pada namanya, itu tidak akan memindahkan file yang salah, hanya file yang tepat yang akan dipindahkan.
TessellatingHeckler
sumber
2
Omong kosong ... Aku punya hal yang hampir sama persis. Akhirnya, tantangan yang hampir dirancang untuk PowerShell , dan saya agak terlalu lambat. Punya +1.
AdmBorkBork
1
@TimmyD Memang; ini tidak terlalu bagus untuk bermain golf, tetapi dengan cara "-replace" dan "| mv" bekerja pada banyak hal sekaligus, ini harus menjadi salah satu area terkuatnya.
TessellatingHeckler