이것은 첫 번째 코드 골프 질문이므로 적절하지 않은 경우 미리 사과하고 피드백을 환영합니다.
이 형식의 파일이 있습니다.
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
나는 이것을 병합하기 위해 루비와 awk 스크립트를 이미 가지고 있지만 짧은 oneliner를 가질 수 있다고 생각합니다. 즉, 파이프 및 명령 행에서 다른 명령과 함께 사용할 수있는 단일 라이너. 나는 그것을 알아낼 수 없으며, 내 자신의 스크립트는 오랫동안 명령 줄에서 압축하는 것입니다.
가장 짧은 문자를 선호합니다. 입력을 반드시 정렬 할 필요는 없지만 첫 번째 필드와 일치하는 연속 행을 병합하는 데에만 관심이 있습니다. 첫 번째 필드와 일치하는 무제한 줄이 있습니다. 필드 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가 목록에 하나씩 있지 않기 때문에 테스트 할 입력 이 아닙니다.