Skip to main content
As suggested in a comment, I have added the option to have unique values
Source Link
aborruso
  • 3k
  • 14
  • 31

Using Miller:

mlr --tsv --implicit-csv-header --headerless-csv-output \ put -S '$1=gsub($1,"[+].+$","")' then uniq -a inputfile 

and the output is:

ICR1 + ICR1 + ICR1  + IRT1  + IRT1  + IRT1 + LSR1 - LSR1 - LSR1 - NME1 + NME1 + NME1 + PWR1 - PWR1 - PWR1 - Q0017 - Q0017 - Q0020 - Q0020 - Q0020 - 

Using Miller:

mlr --tsv --implicit-csv-header --headerless-csv-output \ put -S '$1=gsub($1,"[+].+$","")' inputfile 

and the output is:

ICR1 + ICR1 + ICR1  + IRT1  + IRT1  + IRT1 + LSR1 - LSR1 - LSR1 - NME1 + NME1 + NME1 + PWR1 - PWR1 - PWR1 - Q0017 - Q0017 - Q0020 - Q0020 - Q0020 - 

Using Miller:

mlr --tsv --implicit-csv-header --headerless-csv-output \ put -S '$1=gsub($1,"[+].+$","")' then uniq -a inputfile 

and the output is:

ICR1 + IRT1 + LSR1 - NME1 + PWR1 - Q0017 - Q0020 - 
Minor cleanup.
Source Link
agc
  • 7.4k
  • 4
  • 25
  • 54

Using Miller (https://github.com/johnkerl/millerMiller) is:

mlr --tsv --implicit-csv-header --headerless-csv-output \  put -S '$1=gsub($1,"[+].+$","")' inputfile 

and the output is:

ICR1 + ICR1 + ICR1 + IRT1 + IRT1 + IRT1 + LSR1 - LSR1 - LSR1 - NME1 + NME1 + NME1 + PWR1 - PWR1 - PWR1 - Q0017 - Q0017 - Q0020 - Q0020 - Q0020 - 

Using Miller (https://github.com/johnkerl/miller) is

mlr --tsv --implicit-csv-header --headerless-csv-output put -S '$1=gsub($1,"[+].+$","")' inputfile 

and the output is

ICR1 + ICR1 + ICR1 + IRT1 + IRT1 + IRT1 + LSR1 - LSR1 - LSR1 - NME1 + NME1 + NME1 + PWR1 - PWR1 - PWR1 - Q0017 - Q0017 - Q0020 - Q0020 - Q0020 - 

Using Miller:

mlr --tsv --implicit-csv-header --headerless-csv-output \  put -S '$1=gsub($1,"[+].+$","")' inputfile 

and the output is:

ICR1 + ICR1 + ICR1 + IRT1 + IRT1 + IRT1 + LSR1 - LSR1 - LSR1 - NME1 + NME1 + NME1 + PWR1 - PWR1 - PWR1 - Q0017 - Q0017 - Q0020 - Q0020 - Q0020 - 
Source Link
aborruso
  • 3k
  • 14
  • 31

Using Miller (https://github.com/johnkerl/miller) is

mlr --tsv --implicit-csv-header --headerless-csv-output put -S '$1=gsub($1,"[+].+$","")' inputfile 

and the output is

ICR1 + ICR1 + ICR1 + IRT1 + IRT1 + IRT1 + LSR1 - LSR1 - LSR1 - NME1 + NME1 + NME1 + PWR1 - PWR1 - PWR1 - Q0017 - Q0017 - Q0020 - Q0020 - Q0020 -