我秀例如什么,我需要做的:如何分割文件根据第一列awk的
输入:
name value1 value2 value3
john xxxxx yyyyy qqqqqq
john xxxxx ddddd vvvvvv
john mmmmm jjjjj llllll
paul xxxxx yyyyy qqqqqq
paul ccccc ccccc dddddd
,我需要根据相同名称,以保持头和拆分后的文件在第一列。 我需要根据第一列来命名我的输出文件。
输出:
FILE1:john.tsv
name value1 value2 value3
john xxxxx yyyyy qqqqqq
john xxxxx ddddd vvvvvv
john mmmmm jjjjj llllll
FILE2:paul.tsv
name value1 value2 value3
paul xxxxx yyyyy qqqqqq
paul ccccc ccccc dddddd
输入和输出文件是标签分开。标题始终相同。
我的解决方案是非常复杂和缓慢:
head -1 INPUT > header
awk 'NR>1{print $1}' | sort | uniq > names
while read line
do grep $line INPUT | cat header - > $line.tsv
< names
done
是他们排序?例如:所有'john'条目总是彼此相邻? – Sundeep
Yeas总是按名称排序。 – Paul
更好地编辑与排序要求的问题,也改变样本输入和预期的输出,以反映排序 – Sundeep