Đây là câu hỏi về codegolf đầu tiên của tôi, vì vậy tôi xin lỗi trước nếu nó không phù hợp và tôi hoan nghênh mọi phản hồi.
Tôi có một tập tin với định dạng này:
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
Các nội dung thực tế khác nhau, cũng như dấu phân cách. Các nội dung chỉ là văn bản. Dấu phân cách chỉ xuất hiện một lần trên mỗi dòng. Đối với câu đố này, vui lòng thay đổi dấu phân cách, ví dụ: sử dụng "%" làm dấu phân cách.
Sản phẩm chất lượng:
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
Tôi đã có cả hai tập lệnh ruby và awk để hợp nhất điều này, nhưng tôi nghi ngờ có thể có một oneliner ngắn. tức là một lớp lót có thể được sử dụng cùng với các đường ống và các lệnh khác trên dòng lệnh. Tôi không thể tìm ra nó, và kịch bản của riêng tôi là dài để chỉ nén trên dòng lệnh.
Nhân vật ngắn nhất ưa thích. Đầu vào không nhất thiết phải được sắp xếp, nhưng chúng tôi chỉ quan tâm đến việc hợp nhất các dòng liên tiếp với các trường đầu tiên phù hợp. Có dòng không giới hạn với các trường đầu tiên phù hợp. Trường 1 có thể là bất cứ thứ gì, ví dụ như tên của các loại trái cây, tên riêng, v.v.
(Tôi chạy trên MacOS, vì vậy cá nhân tôi quan tâm nhất đến việc triển khai chạy trên mac).
Đây là một ví dụ / thử nghiệm thứ hai. Thông báo "|" là dấu phân cách Khoảng trắng trước dấu "|" là không liên quan, và nếu bực bội nên được coi là một phần của chìa khóa. Tôi đang sử dụng "%" làm giới hạn trong đầu ra, nhưng một lần nữa, vui lòng thay đổi dấu phân cách (nhưng không sử dụng dấu ngoặc vuông).
Đầu vào:
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
Sản phẩm chất lượng:
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"]
là : không phải là một đầu vào mong muốn để kiểm tra, vì các từ khóa A
không phải là một từ khóa khác trong danh sách.