สวัสดีมนุษย์ฉันต้องการกู้คืนรูปแมวตัวน้อยของฉัน


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 ดังนั้นฉันจึงไม่มีพื้นที่เหลืออีกมาก (และฉันกำลังดาวน์โหลดอินเทอร์เน็ตจริง ๆ คุณรู้ไหมมันยากที่จะดาวน์โหลดอย่างอื่นขณะทำเช่นนั้นฉันทำได้ ท่องเว็บแทบจะไม่และคุณเป็นคนเดียวที่ฉันได้พบมนุษย์!)

อย่าให้ฉันใช้ชีวิตแบบนั้น! กรุณาเขียนโปรแกรมเล็ก ๆ ของฉันที่จะทำงานให้ฉันและบันทึก Ubro เล็กน้อย


  • เนื่องจากเป็นรหัส - กอล์ฟโปรแกรมที่สั้นที่สุดชนะ

  • ฉันต้องสามารถเปิดโปรแกรมของคุณได้ HUMAN! ดังนั้นตรวจสอบให้แน่ใจว่าโปรแกรมของคุณมีล่ามที่มีอยู่

  • คุณสามารถคาดหวังว่าไฟล์รายการจะอยู่ในไดเรกทอรีที่ฉันเปิดสคริปต์ของคุณ มันจะมีชื่อว่า. /list.txt

  • คุณต้องย้ายภาพไปที่. / ด้วยรุ่น /

  • ทุกภาพที่กู้คืนจะอยู่ในไดเรกทอรีเดียวกันจากที่ฉันเปิดโปรแกรมของคุณ

  • ไม่มีภาพมี - ในชื่อของเขา กันไปสำหรับรุ่นกล้อง

  • มันต้องเป็นโปรแกรมจริงไม่ใช่ฟังก์ชั่นที่ง่าย

  • ไม่มีอินเทอร์เน็ตฉันกำลังดาวน์โหลด! นี่เป็นสิ่งสำคัญจริงๆ

  • ฉันต้องการภาพแมวของฉันอย่างรวดเร็วหรือฉันไม่สามารถอยู่รอด: รหัสกอล์ฟนี้จะสิ้นสุดในวันที่ 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
  • รับเนื้อหาของรายการ
  • ลบรุ่นกล้องจนถึงแท็บโดยแทนที่ด้วยไม่มีอะไรเลย สิ่งนี้จะไม่เปลี่ยนบรรทัดที่ขึ้นต้นด้วย "-"
  • ไพพ์ลงในคำสั่งย้ายโฟลเดอร์ปลายทาง 'withmodel' การดำเนินการนี้จะมีข้อผิดพลาดจำนวนมากสำหรับบรรทัดที่ไม่เปลี่ยนแปลงซึ่งขึ้นต้นด้วย "-" แต่เนื่องจากไม่มีไฟล์ใดที่มีชื่อ "-" ในชื่อที่จะไม่ย้ายไฟล์ที่ไม่ถูกต้องเฉพาะไฟล์ที่ถูกต้องเท่านั้นที่จะถูกย้าย

2
อึศักดิ์สิทธิ์ ... ฉันมีสิ่งเดียวกันเกือบแน่นอน ในที่สุดความท้าทายที่ PowerShell เกือบออกแบบมาสำหรับฉันและฉันก็ช้าไปหน่อย มี +1
AdmBorkBork

1
@ TimmyD แน่นอน; มันไม่ได้ยอดเยี่ยมสำหรับการเล่นกอล์ฟ แต่ด้วยวิธี "-replace" และ "| mv" ทำงานได้หลายอย่างพร้อมกันสิ่งนี้จะต้องเป็นหนึ่งในพื้นที่ที่แข็งแกร่งที่สุด
TessellatingHeckler
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.