我有一个类似以下的文件
列由制表符分隔
Group1 name1:ENSG0365 name4:ENSMU0000196 name2:ENSMU00001826
Group2 name2:ENS000132622 name4:ENSUS00074793
Group3 name3:ENSFP000844 name1:ENSMU000025
我想要每行的文件列表,以第1列(Group1,Group2等)命名并且看起来像这样
NAME1:ENSG0365
NAME4:ENSMU0000196
mouse2:ENSMU00001826
我不知道哪个工具更适合这项任务。谢谢你的帮助。
答案 0 :(得分:1)
使用bash 4:
while read -r name rest; do echo "$rest" >"$name"; done </path/to/your/file
更新
while read -r name rest; do printf "%s\n" $rest >"$name"; done < /path/to/your/file
答案 1 :(得分:1)
perl -n -e '@x=split;open(F,">".shift(@x));$,="\n";print F @x' < groups.txt
大胆猜测评论中的含义,您可以尝试:
perl -n -e '@x=split /\t/;open(F,">".shift(@x));$,="\n";print F @x' < groups.txt