นี่คือคำถาม codegolf แรกของฉันดังนั้นฉันจึงขออภัยล่วงหน้าหากไม่เหมาะสมและฉันยินดีรับข้อเสนอแนะ
ฉันมีไฟล์ที่มีรูปแบบนี้:
a | rest of first line
b | rest of second line
b | rest of third line
c | rest of fourth line
d | rest of fifth line
d | rest of sixth line
เนื้อหาจริงแตกต่างกันไปตามตัวคั่น เนื้อหาเป็นเพียงข้อความ ตัวคั่นจะปรากฏเพียงหนึ่งครั้งต่อบรรทัด สำหรับปริศนานี้คุณสามารถเปลี่ยนตัวคั่นได้เช่นใช้ "%" เป็นตัวคั่น
ผลลัพธ์ที่ต้องการ:
a | rest of first line
b | rest of second line % rest of third line
c | rest of fourth line
d | rest of fifth line % rest of sixth line
ฉันมีทั้งสคริปต์ ruby และ awk ที่จะรวมสิ่งนี้ แต่ฉันคิดว่าเป็นไปได้ที่จะมีผู้เข้าชมสั้น ๆ ie หนึ่งซับที่สามารถใช้พร้อมกับท่อและคำสั่งอื่น ๆ ในบรรทัดคำสั่ง ฉันไม่สามารถหามันได้และสคริปต์ของฉันเองก็คือการบีบอัดบรรทัดคำสั่ง
แนะนำให้ใช้อักขระที่สั้นที่สุด อินพุตไม่จำเป็นต้องเรียงลำดับ แต่เราสนใจเพียงการผสานบรรทัดต่อเนื่องเข้ากับฟิลด์แรกที่ตรงกัน มีบรรทัดไม่ จำกัด ด้วยการจับคู่เขตข้อมูลแรก ฟิลด์ 1 อาจเป็นอะไรก็ได้เช่นชื่อผลไม้ชื่อที่ถูกต้องเป็นต้น
(ฉันทำงานบน MacOS ดังนั้นฉันจึงสนใจใช้งานส่วนใหญ่ที่ทำงานบน mac)
นี่คือตัวอย่างที่สอง / ทดสอบ ประกาศ "|" เป็นตัวคั่น ช่องว่างก่อน "|" ไม่เกี่ยวข้องและถ้าไม่พอใจควรได้รับการพิจารณาเป็นส่วนหนึ่งของคีย์ ฉันใช้ "%" เป็นตัวคั่นในผลลัพธ์ แต่อีกครั้งคุณสามารถเปลี่ยนตัวคั่นได้ (แต่ไม่ได้ใช้วงเล็บเหลี่ยม)
การป้อนข้อมูล:
why|[may express] surprise, reluctance, impatience, annoyance, indignation
whom|[used in] questions, subordination
whom|[possessive] whose
whom|[subjective] who
whoever|[objective] whomever
whoever|[possessive] whosever
who|[possessive] whose
who|[objective] whom
ผลลัพธ์ที่ต้องการ:
why|[may express] surprise, reluctance, impatience, annoyance, indignation
whom|[used in] questions, subordination%[possessive] whose%[subjective] who
whoever|[objective] whomever%[possessive] whosever
who|[possessive] whose%[objective] whom
["A|some text", "B|other text", "A|yet some other text"]
ไม่ใช่อินพุตที่ต้องการทดสอบเนื่องจากคำหลักA
ไม่ใช่หนึ่งในอีกรายการหนึ่งในรายการ