我有逗号分隔的文件:
ID,Disease,Status
Sample1,Disease1,High
Sample1,Disease2,Low
Sample1,Disease3,Medium
Sample2,Disease1,Low
Sample2,Disease2,Medium
Sample2,Disease3,Low
第一个字段是 ID 号,第二个字段是疾病名称,第三列是个人患该疾病的风险状态。我需要将所有疾病放在行中,将 ID 放在列中。每个 ID 应分配一行,并按列提及所有疾病风险状态。所以,输出应该是:
预期输出文件:
ID,Disease1,Disease2,Disease3
Sample1,High,Low,Medium
Sample2,Low,Medium,Low
答案1
apt install rs
echo -e "1,2\n3,4" | rs -c',' -C',' -T
1,3,
2,4,
为每种语言转置数据的方法有很多种,甚至还有一些专用工具;
https://stackoverflow.com/questions/1729824/an-efficient-way-to-transpose-a-file-in-bash