Xin chào con người, tôi muốn phục hồi bức ảnh con mèo nhỏ của tôi


9

Lưu ý: Mọi thứ được trình bày trong tình huống là hoàn toàn giả mạo và vừa được đưa vào đây để làm cho thử thách trở nên thú vị hơn một chút;) ... Hoặc có thể không;)


=== === BẮT ĐẦU TRUYỀN ĐỘNG === ===

Xin chào,
gần đây tôi đã có một lỗi đĩa. Tôi hy vọng đã có bản sao lưu và bây giờ tôi muốn ảnh của tôi trở lại. Tuy nhiên, MỌI bản sao lưu trông bị hỏng trong vũ trụ song song nơi tôi sống. Nhưng đó không phải là vấn đề, bởi vì chúng tôi có các công cụ đặc biệt để giúp người dùng tìm lại tệp của họ. Chúng hoạt động giống như của bạn và nhìn xung quanh đĩa để tìm các tiêu đề trông giống như hình ảnh. Khi chúng vẫn đang trong giai đoạn thử nghiệm, phần mềm sẽ phục hồi bất kỳ hình ảnh nào nó tìm thấy, đặt cho nó một tên ngẫu nhiên và đưa ra một danh sách có chứa:

  • Mẫu máy ảnh đã chụp ảnh hoặc một chiếc -nếu không có sẵn. Lưu ý rằng mô hình có thể chứa khoảng trắng, nhưng không -.

  • Một tab char ( \t, ASCII 9)

  • Tên của tập tin ảnh.

Tệp này là một tệp văn bản tiêu chuẩn và trông như thế:

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

Tệp này khá lớn và tôi không thể dựa vào Ubro bé nhỏ của mình để di chuyển tất cả các tệp có mô hình trong một thư mục riêng.


Con người thân mến, tôi cần sự giúp đỡ của bạn. Tôi muốn bạn di chuyển tất cả các bức ảnh có dữ liệu về máy ảnh trong một thư mục riêng, vì vậy tôi có thể tìm thấy những bức ảnh mèo nhỏ dễ thương của mình trong mớ hỗn độn các biểu tượng, ảnh chụp màn hình ...

Tuy nhiên, các bản sao lưu này đang diễn ra trên My LiquidStateDrive46X, vì vậy tôi không còn nhiều dung lượng (và tôi thực sự đang tải xuống Internet, vì vậy, bạn biết đấy, rất khó để tải xuống thứ khác trong khi làm điều đó. Tôi chỉ có thể hầu như không lướt web và bạn là người duy nhất tôi tìm thấy, con người!)

Đừng để tôi sống theo cách đó! Xin vui lòng, viết cho tôi một chương trình nhỏ sẽ làm việc cho tôi và tiết kiệm một chút Ubro.


  • Vì đây là môn đánh gôn, chương trình ngắn nhất sẽ thắng

  • Tôi cần để có thể khởi động chương trình của bạn, CON NGƯỜI! Vì vậy, hãy chắc chắn rằng chương trình của bạn có một thông dịch viên hiện có.

  • Bạn có thể mong đợi tệp danh sách nằm trong thư mục nơi tôi khởi chạy tập lệnh của mình. Nó sẽ được đặt tên ./list.txt

  • Bạn cần di chuyển hình ảnh đến ./withmodel/

  • Mọi hình ảnh được phục hồi đều nằm trong cùng một thư mục từ nơi tôi khởi chạy chương trình của bạn

  • Không có hình ảnh có một - trong tên của mình. Các mẫu máy ảnh cũng vậy.

  • Nó cần phải là một chương trình thực sự, không phải là một chức năng đơn giản.

  • Không có truy cập internet, tôi đang TẢI XUỐNG! Điều này thực sự quan trọng.

  • Tôi cần hình ảnh con mèo của tôi một cách nhanh chóng, hoặc tôi không thể sống sót: Sân golf mã này sẽ kết thúc vào ngày 10 tháng 10, nếu tôi vẫn còn sống vào ngày này.

=== === KẾT THÚC CHUYỂN ĐỘNG === ===


Bạn có thể sử dụng bất kỳ ngôn ngữ nào có thông dịch viên vào thời điểm thử thách được đăng, vì vậy nó trông giống như một lỗ hổng tiêu chuẩn, vâng. Tôi không muốn hạn chế quá nhiều về điều này ...
WayToDoor

Ok, theo ý kiến ​​của tôi, tôi đã chỉnh sửa dòng đó rõ ràng hơn một chút. Nếu bạn không thích nó cảm thấy thoải mái để hoàn nguyên.
FryAmTheEggman

3
Đó là puuuurinf;)! Cảm ơn bạn!
WayToDoor

Tôi đã đặt câu trả lời, nhưng tôi tự hỏi liệu tôi có thiếu thứ gì không. Tại sao điều này có thể cần truy cập internet? Điều quan trọng là đĩa không còn nhiều dung lượng? Điều này có ý nghĩa " Tôi không thể dựa vào Ubro bé nhỏ của mình để di chuyển tất cả các tệp có một mô hình trong một thư mục riêng biệt. "?
TessellatingHeckler

Điều này không cần internet. Tôi chỉ đặt quy tắc trong trường hợp ... Đĩa không còn nhiều dung lượng => ghi chương trình ngắn nhất có thể. Và Ubro là cách kể chuyện thuần túy, nó không đáng kể
WayToDoor

Câu trả lời:


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
  • lấy nội dung của danh sách
  • loại bỏ các mô hình máy ảnh lên đến tab bằng cách thay thế chúng không có gì. Điều này sẽ không thay đổi các dòng bắt đầu bằng "-".
  • ống dẫn vào lệnh di chuyển, thư mục đích 'withmodel'. Điều này sẽ gây ra rất nhiều lỗi cho các dòng không thay đổi bắt đầu bằng "-", nhưng vì không có tệp nào có "-" trong tên, nên sẽ không di chuyển bất kỳ tệp không chính xác nào, chỉ các tệp đúng sẽ được di chuyển.

2
Holy crap ... Tôi đã có gần như điều tương tự. Cuối cùng, một thử thách mà PowerShell gần như được thiết kế và tôi hơi chậm một chút. Có +1.
admBorkBork

1
@TimmyD Thật vậy; nó không đặc biệt tuyệt vời cho việc chơi golf, nhưng với cách thức "-replace" và "| mv" hoạt động trên nhiều thứ cùng một lúc, đây phải là một trong những lĩnh vực mạnh nhất của nó.
TessellatingHeckler
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.