使用shell脚本,将一个test-id.csv文件转换成test-id.txt文件
test-id.csv文件有四列信息A,B,C,D,转换格式:**A (B txid:C; run:D)**,将csv里每一行信息按照格式转换,写到txt文件里去
比如,cvs第一行是A,B,C,D,txt第一行就是A (B txid:C; run:D)
test-id.csv
A,B,C,D
1,2,3,4
SRX12219345,Panthera tigris tigris,74535,SRR15929228
$ cat test-id.csv | awk -F ',' '{ print $1 " (" $2 " txid:" $3 "; run:" $4 ")" }'
A (B txid:C; run:D)
1 (2 txid:3; run:4)
SRX12219345 (Panthera tigris tigris txid:74535; run:SRR15929228)
你把命令改成这样试试
cat test_id.csv | awk -F ',' '{ printf $1 " (" $2 " txid:" $3 "; run:" $4 ")" }'
可能由于你原文本是DOS的,有回车加换行,awk只按换行识别行,结果就把回车给留下了,所以其实你也可以先把这个文本转成UNIX的再处理
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!