Привет человек, я хочу восстановить мои маленькие фотографии кошки

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
источник
Вы можете использовать любой язык, на котором есть переводчик к моменту подачи заявки, так что это выглядит как стандартная лазейка, да. Я не хочу слишком ограничивать это ...
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
  • получить содержимое списка
  • удалить модели камер до вкладки, заменив их ничем. Это не изменит строки, начинающиеся с «-».
  • передать в команду перемещения, папку назначения 'withmodel'. Это приведет к большому количеству ошибок для неизмененных строк, начинающихся с «-», но, поскольку ни один из файлов не имеет «-» в имени, это не будет перемещать какие-либо неправильные файлы, будут перемещены только нужные файлы.
TessellatingHeckler
источник
2
Святое дерьмо ... У меня было почти то же самое. Наконец, проблема, для которой PowerShell почти разработан , и я был немного слишком медленным. +1
AdmBorkBork
1
@TimmyD Действительно; он не особенно хорош для игры в гольф, но благодаря тому, что "-relace" и "| mv" работают одновременно с несколькими вещами, это должно быть одной из самых сильных областей.
TessellatingHeckler