GNU datamash 转置示例似乎无法正常工作

GNU datamash 转置示例似乎无法正常工作

我正在尝试复制使用 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

或者将多个空格压缩为一个空格并使用 option-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

相关内容