Gnu

GNU datamash 轉置範例似乎無法正常工作

  • May 20, 2019

我正在嘗試複製使用 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
>

如果我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或如steeldriver--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

引用自:https://unix.stackexchange.com/questions/520003