我秀例如什麼,我需要做的:如何分割文件根據第一列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