Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8209049
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 7, 20262026-06-07T09:35:13+00:00 2026-06-07T09:35:13+00:00

I’m searching for a solution of this problem: I have a file (tab-separated) like

  • 0

I’m searching for a solution of this problem:
I have a file (tab-separated) like I show in the following blockquote. As you can see
there are lines that match the first part (Bold fields).

chr4 164440449 165354407 G1 P8002-51-75
chr1 220871675 220962596 G2 P2368-132-84
chr1 220871675 220962596 G2 P2369-152-116
chr1 220871675 220962596 G2 P2371-180-82
chr1 220871675 220962596 G2 P2372-223-129
chr1 220871675 220962596 G2 P2373-153-96
chr1 220871675 220962596 G2 P2370-104-78
chr5 126198405 126416440 G3 P9333-135-146
chr5 126198405 126416440 G3 P9334-151-116

Using AWK or PERL how could I manage to obtain the following output conserving the tab-separated format??? The general concept is to try to unify lines according to it’s first part, and append the last field

chr4 164440449 165354407 G1 P8002-51-75
chr1 220871675 220962596 G2 P2368-132-84 P2369-152-116 P2371-180-82 P2372-223-129 P2373-153-96 P2370-104-78
chr5 126198405 126416440 G3 P9333-135-146 P9334-151-116

The general concept is to try to unify lines according to it’s first part, and append the last field

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-07T09:35:15+00:00Added an answer on June 7, 2026 at 9:35 am

    One way using perl:

    perl -ane '
        ## Save all fields but the last one as the key to compare between rows.
        $key = join qq|\t|, @F[ 0 .. $#F - 1 ];
    
        ## In first line or when current key is equal to previous key, save last
        ## field in an array and stop processing current row.
        if ( $. == 1 || $key eq $pkey ) {
            $pkey = $key;
            push @value, $F[ $#F ];
            next unless eof;
        }
    
        ## At this point, keys between rows are different, so print previous
        ## key with its values and begin to save the new one.
        printf qq|%s\n|, join qq|\t|, $pkey, @value;
        @value = ();
        push @value, $F[ $#F ];
    
        ## Exception: Last line with a new key, print it.
        if ( eof && $pkey ne $key ) {
        printf qq|%s\n|, join qq|\t|, $key, @value;
        }
    
        ## Save previous key.
        $pkey = $key;
    
    ' infile
    

    Assuming infile with the data of your question, output will be:

    chr4    164440449       165354407       G1      P8002-51-75
    chr1    220871675       220962596       G2      P2368-132-84    P2369-152-116   P2371-180-82    P2372-223-129   P2373-153-96    P2370-104-78
    chr5    126198405       126416440       G3      P9333-135-146   P9334-151-116
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I have some data like this: 1 2 3 4 5 9 2 6
I have a .ini file as follows: [playlist] numberofentries=2 File1=http://87.230.82.17:80 Title1=(#1 - 365/1400) Example
I have just tried to save a simple *.rtf file with some websites and
For some reason, after submitting a string like this Jack’s Spindle from a text
I have a jquery bug and I've been looking for hours now, I can't
this is what i have right now Drawing an RSS feed into the php,
I have this code to decode numeric html entities to the UTF8 equivalent character.
I am trying to render a haml file in a javascript response like so:
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.