Der Versuch, mehrere Zeilen basierend auf der ersten Spalte in 1 zusammenzuführen.Zusammenführen einer Spalte aus mehreren Zeilen basierend auf einer anderen Spalte
Ex. File1
S784 CHST5,TMEM231
S784 TM4SF20
S784 TMEM184A
U531 5S_rRNA,C3orf33
U604 LRRC69
U586 PLEKHA5,C8orf77
U586 ZNF252,LINGO2
Ausgabedatei
S784 CHST5,TMEM231,TM4SF20,TMEM184A
U531 5S_rRNA,C3orf33
U604 LRRC69
U586 PLEKHA5,C8orf77,ZNF252,LINGO2
Das ist, was ich bisher habe, das funktioniert aber mir ein zusätzliches Komma gibt ich nicht scheinen, um herauszufinden, wie kann man loswerden ...
awk -F'\t' '{a[$1]++; list[$1]=list[$1]","$2} END {for (i in a) print i,FS,list[i]}' File1 > output
Stromausgang
S784 ,CHST5,TMEM231,TM4SF20,TMEM184A
U531 ,5S_rRNA,C3orf33
U604 ,LRRC69
U586 ,PLEKHA5,C8orf77,ZNF252,LINGO2
Ich habe auch versucht list[$1]=$2","list[$1]
verwenden, aber das gibt mir noch ein zusätzliches Komma nur am Ende statt am Anfang der Spalte 2.
Ihre genial sind. Vielen Dank. Würde es Ihnen etwas ausmachen, zu erklären, was Ihr Code macht, damit ich mehr verstehen kann und hoffentlich weniger Fragen stellen muss? – Catherine
@Catherine, willkommen, siehe meine Erklärung – RomanPerekhrest