您好人类,我想找回我的小猫咪照片


9

注意:这种情况下呈现的所有内容都是伪造的,只是为了使挑战变得更加有趣而已;)...也许不是;)


=== ===开始传输=== ===

您好,
我最近发生了磁盘故障。希望我有备份,现在我想要我的照片。但是,在我居住的并行世界中,每个备份看起来都已损坏。但这不是问题,因为我们有特殊的工具可以帮助用户找回文件。它们的工作方式与您的类似,并且在磁盘周围寻找看起来像图像的标题。当它们仍处于测试阶段时,该软件将恢复找到的任何图像,为其提供一个随机名称并输出包含以下内容的列表:

  • 拍摄照片的相机型号,-如果没有,则为一个。请注意,模型可以包含空格,但不能包含-

  • 制表符(\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上进行的,所以我没有多少空间了(我实际上是在下载Internet,因此,在执行此操作时很难下载其他内容。我可以几乎不上网,您是我发现的唯一一个人!)

不要让我那样生活!请为我编写一个小程序,该程序将为我完成工作,并节省一些Ubro。


  • 因为这是代码高尔夫,所以最短的程序胜出

  • 我需要能够启动您的程序,人类!因此,请确保您的程序具有现有的解释器。

  • 您可以期望列表文件位于我启动脚本的目录中。它将命名为./list.txt

  • 您需要将图像移动到./withmodel/

  • 恢复的每个映像都位于我启动程序所在的目录中

  • 没有图片以-为名。相机型号也是如此

  • 它需要是一个真实的程序,而不是简单的功能。

  • 无法访问互联网,我正在下载!这真的很重要。

  • 我需要我的猫图像很快,否则我将无法生存:如果我今天还活着,这个代码高尔夫将在10月10日结束。

=== ===传输结束=== ===


挑战发布时,您可以使用任何具有口译员的语言,因此看起来像是一个标准漏洞。我不想对此限制太多...
WayToDoor

好的,我认为我对该行进行了更清晰的编辑。如果您不喜欢,请随时还原。
FryAmTheEggman,2015年

3
这是puuuurfect;)!谢谢!
WayToDoor 2015年

我已经回答了,但是我想知道我是否缺少什么。为什么可能这个需要上网吗?磁盘剩余空间是否重要?这是否有意义?“ 我不能依靠我的小Ubro在一个单独的目录中移动所有具有模型的文件。 ”?
TessellatingHeckler,2015年

这不需要互联网。我只是以防万一...如果磁盘上没有太多空间,则写尽可能短的程序。而Ubro纯粹是讲故事,意义不大
WayToDoor 2015年

Answers:


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”。对于以“-”开头的未更改的行,这会遇到很多错误,但是由于文件名中都没有“-”,因此不会移动任何不正确的文件,只会移动正确的文件。

2
废话……我几乎完全一样。最后,PowerShell几乎为应对这一挑战而设计的,我有点太慢了。+1。
AdmBorkBork,2015年

1
@TimmyD确实;它并不是特别适合打高尔夫球,但是通过“ -replace”和“ | mv”同时处理多种事物的方式,它必须成为其最强的领域之一。
TessellatingHeckler,2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.