GNU datamash transpose 예제가 작동하지 않는 것 같습니다

GNU datamash transpose 예제가 작동하지 않는 것 같습니다

나는 GNU datamash 유틸리티를 사용하여 파일을 바꾸는 예제를 복제하려고 합니다. 그러나 나는 다른 결과를 얻습니다. 무슨 일이 일어났는지 잘 모르겠습니다.

지시하다:https://www.gnu.org/software/datamash/examples/#example_transpose

내 결과:

> ~/bin/Installed/datamash transpose < input.txt
Sample   Year   Count   id-123   2014   1002    id-99    2013    990    id-42    2014   2030    id-13    2014    599
>

답변1

input.txt예제를 복사하여 붙여넣으면 여러분과 동일한 결과가 나옵니다. 여러 공백을 하나의 탭으로 바꾸면 탭이 기본 구분 기호이므로 작동합니다.

$ datamash transpose < <(cat input.txt | tr -s ' ' '\t')
Sample  id-123  id-99   id-42   id-13
Year    2014    2013    2014    2014
Count   1002    990     2030    599

또는 여러 공백을 하나의 공백으로 압축하고 옵션을 -t' '필드 구분 기호로 사용합니다.

$ datamash -t' ' transpose < <(cat input.txt | tr -s ' ')
Sample id-123 id-99 id-42 id-13
Year 2014 2013 2014 2014
Count 1002 990 2030 599

또는 더 나은 방법은 옵션을 사용하거나 -W지적한 --whitespace대로강철 드라이버(감사해요!):

$ datamash -W transpose < input.txt
Sample  id-123  id-99   id-42   id-13
Year    2014    2013    2014    2014
Count   1002    990     2030    599

관련 정보