Привіт людський, я хочу відновити свої маленькі котячі фото


9

NB: Все, що представлено в ситуації, є абсолютно підробленим і щойно було поставлене тут, щоб зробити виклик трохи веселішим;) ... А може і ні;)


=== === ПОЧАТОК ПЕРЕМОГА === ===

Привіт,
нещодавно у мене вийшов з ладу диск. Я сподіваюся, що було резервне копіювання, і тепер я хочу повернути свої фотографії. Однак КОЖНЕ резервне копіювання виглядає зіпсованим у паралельному Всесвіті, де я живу. Але це не проблема, оскільки у нас були спеціальні інструменти, щоб допомогти користувачеві знайти свої файли назад. Вони трохи схожі на ваш, і дивиться навколо диска для заголовків, схожих на зображення. Оскільки вони все ще знаходяться в бета-версії, програмне забезпечення відновлює будь-яке знайдене зображення, дає йому випадкове ім'я та виводить список, що містить:

  • Модель камери, яка зробила фотографію, або одна, -якщо її немає. Зауважте, що модель може містити пробіли, але ні -.

  • Значок вкладки ( \t, ASCII 9)

  • Назва файлу фотографій.

Файл - це стандартний текстовий файл і виглядає так:

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

Файл досить великий, і я не можу розраховувати на мого маленького Ubro, щоб перемістити весь файл, який має модель, в окремий каталог.


Дорогий людський, мені потрібна ваша допомога. Я хочу, щоб ви перемістили всі фотографії, які містять дані про камеру, в окремий каталог, щоб я міг знайти свої маленькі милі фотографії котів із цього безладу іконок, скріншотів ...

Однак ці резервні копії відбуваються на My LiquidStateDrive46X, тому у мене не залишається багато місця (і я фактично завантажую Інтернет, тому, знаєте, важко завантажити щось інше, роблячи це. Я просто можу ледве веб-серфінг, і ти єдиний, кого я знайшов, людський!)

Не дай мені так жити! Будь ласка, напишіть мою невелику програму, яка зробить роботу для мене, і збережіть трохи Ubro.


  • Оскільки це код-гольф, виграє найкоротша програма

  • Мені потрібно вміти запускати програму, ЛЮДИНА! Тому переконайтеся, що у вашій програмі є перекладач.

  • Ви можете очікувати, що файл списку буде в каталозі, де я запускаю ваш сценарій. Він буде названий ./list.txt

  • Вам потрібно перемістити зображення в ./withmodel/

  • Кожне відновлене зображення знаходиться в одному каталозі, з якого я запускаю вашу програму

  • Жодне зображення не має - його імені. Те саме стосується моделей камер

  • Це має бути справжня програма, а не проста функція.

  • Немає доступу до Інтернету, я завантажую! Це дійсно важливо.

  • Мені потрібні зображення моїх котів, або я не можу вижити: Цей кодовий гольф закінчиться 10 жовтня, якщо в цей день я ще живий.

=== === КІНЦЕ ПЕРЕМОГИ === ===


Ви можете використовувати будь-яку мову, яка має перекладача до моменту опублікування виклику, так що це виглядає як стандартна лазівка, так. Я не хочу надто обмежуватись у цьому ...
WayToDoor

Гаразд, я редагував цей рядок, щоб бути трохи більш зрозумілим, на мій погляд. Якщо вам це не подобається, сміливо повертайтеся.
FryAmTheEggman

3
Це puuuurfect;)! Дякую!
WayToDoor

Я поставив відповідь, але мені цікаво, чи я щось пропускаю. Для чого може знадобитися доступ до Інтернету? Чи важливо, щоб на диску не залишилося багато місця? Це суттєве " я не можу покластися на мого маленького Ubro, щоб перемістити весь файл, який має модель, в окремий каталог. "
TessellatingHeckler

Це не повинно потребувати Інтернету. Я просто ставлю правило на випадок ... На диску не залишилося багато місця => написати найкоротшу можливу програму. А Ubro - це чистий сюжет, це не суттєво
WayToDoor

Відповіді:


9

PowerShell (v4), 58 49 байт

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


# Previous 58 byte version
(gc list.txt)-notmatch'^-'-replace".+`t"|mv -des withmodel
  • get-content списку
  • видаліть моделі камер до вкладки, замінивши їх нічим. Це не змінить рядки, починаючи з "-".
  • передається в команду переміщення, папку призначення 'withmodel'. Це призведе до безлічі помилок для незмінних рядків, що починаються з "-", але оскільки жоден з файлів не має "-" в імені, це не перемістить жодних неправильних файлів, будуть переміщені лише правильні файли.

2
Святе лайно ... У мене було майже те саме. Нарешті, завдання, для якого PowerShell майже розроблений , і я був трохи надто повільним. Майте +1.
AdmBorkBork

1
@TimmyD Дійсно; це не особливо добре для гри в гольф, але з тим, як "-замінити" та "| mv" працювати над кількома речами одночасно, це має стати однією з найсильніших областей.
TessellatingHeckler
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.