Ini adalah pertanyaan codegolf pertama saya, jadi saya minta maaf sebelumnya jika itu tidak sesuai, dan saya menyambut umpan balik.
Saya punya file dengan format ini:
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
Isi sebenarnya bervariasi, seperti halnya pembatas. Isinya hanya teks. Pembatas hanya muncul sekali per baris. Untuk teka-teki ini, jangan ragu untuk mengubah pembatas, mis. Gunakan "%" sebagai pembatas.
Output yang diinginkan:
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
Saya sudah memiliki skrip ruby dan awk untuk menggabungkan ini, tetapi saya curiga mungkin saja memiliki oneliner pendek. yaitu satu-liner yang dapat digunakan bersama dengan pipa dan perintah lainnya pada baris perintah. Saya tidak bisa mengetahuinya, dan skrip saya sendiri terlalu panjang untuk hanya mengompres pada baris perintah.
Lebih disukai karakter terpendek. Input tidak harus diurutkan, tetapi kami hanya tertarik untuk menggabungkan garis berurutan dengan bidang pertama yang cocok. Ada garis tak terbatas dengan bidang pertama yang cocok. Field 1 bisa berupa apa saja, misalnya nama buah, nama yang tepat, dll.
(Saya menjalankan MacOS, jadi saya pribadi paling tertarik dengan implementasi yang berjalan di mac).
Berikut ini adalah contoh / tes kedua. Perhatikan "|" adalah pembatas. Ruang sebelum "|" tidak relevan, dan jika membenci harus dianggap bagian dari kunci. Saya menggunakan "%" sebagai pembatas dalam output, tapi sekali lagi, jangan ragu untuk mengubah pembatas (tapi jangan menggunakan tanda kurung siku).
Memasukkan:
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
Output yang diinginkan:
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"]
bukan input yang diinginkan untuk diuji, karena kata kunci untuk A
tidak satu demi satu dalam daftar.