to join the corresponding lines using shell commands or awk

Suppose u have this file

gi_1 ABCDEFDHIJ KMNOPQRSTU VWXYZABCDE
gi_2 JKLMNOPQRS TUVWXYZABC DEFGHIJKLM
gi_3 PQRSTUVWXY ZABCDEFGHI JKLMNOPQRS
gi_4 CDEFGHIJKL MNOPQRSTUV WXYZABCDEF
gi_5 IJKLMNOPQR STUVWXYZAB CDEFGHIJKLM

   FGHIJKLMNO PQRSTUVWXY ZABCDEFABC
   NOPQRSTUVW XYZABCDEFG HIJKLMNOPQ
   TUVWXYZABC DEFGHIJKLM NPQRSTUVWX
    GHIJKLMNOP QRSTUVWXYZ ABCDEFGHIJ
    NOPQRSTUVW XYZABCDEFG HIJKLMNOPQ

so the output shud be like that

gi_1 ABCDEFDHIJ KMNOPQRSTU VWXYZABCDE FGHIJKLMNO PQRSTUVWXY ZABCDEFABC
gi_2 JKLMNOPQRS TUVWXYZABC DEFGHIJKLM NOPQRSTUVW XYZABCDEFG HIJKLMNOPQ
gi_3 PQRSTUVWXY ZABCDEFGHI JKLMNOPQRS TUVWXYZABC DEFGHIJKLM NPQRSTUVWX
gi_4 CDEFGHIJKL MNOPQRSTUV WXYZABCDEF GHIJKLMNOP QRSTUVWXYZ ABCDEFGHIJ
gi_5 IJKLMNOPQR STUVWXYZAB CDEFGHIJKLM NOPQRSTUVW XYZABCDEFG HIJKLMNOPQ

And also note that like one have one time color part(5 lines) we have more than 4 -5 time color part so as to join them respectively.

Thanks

thanks

was not something similar answered here?

Dear vgersh,
nawk -f ag.awk myInputFile

ag.awk:
Code:

BEGIN {
RS=""
}
{
for(i=1; i<=NF; i++)
a [i]= (i in a) ? a [i]OFS $i : $i
}
END {
for(i=1; i in a; i++)
print a
[i]}

Yah exactly it is but i couldn't getdesired results as the result shown below using ur code (ag.awk)
gi_1 FGHIJKLMNO
ABCDEFDHIJ PQRSTUVWXY
KMNOPQRSTU ZABCDEFABC
VWXYZABCDE NOPQRSTUVW
gi_2 XYZABCDEFG
JKLMNOPQRS HIJKLMNOPQ
TUVWXYZABC TUVWXYZABC
DEFGHIJKLM DEFGHIJKLM
gi_3 NPQRSTUVWX
PQRSTUVWXY GHIJKLMNOP
ZABCDEFGHI QRSTUVWXYZ
JKLMNOPQRS ABCDEFGHIJ
gi_4 NOPQRSTUVW
CDEFGHIJKL XYZABCDEFG
MNOPQRSTUV HIJKLMNOPQ
WXYZABCDEF
gi_5
IJKLMNOPQR
STUVWXYZAB
CDEFGHIJKLM

Thanks

Firstly, pls do use vB Codes when either quoting others and/or posting code - it does make it easier to read the thread and you actually will imrove the chances of somebody actually willing to help you out.

Secondly, change:

RS=""

TO

RS=FS=""

Good luck!

thanks for the instructions actually may be u not have understood the quesion and wht output shud i will like to have may be i will again simplify the example...

input
gi_1 ABCDEFDHIJ KMNOPQRSTU VWXYZABCDE
gi_2 JKLMNOPQRS TUVWXYZABC DEFGHIJKLM
gi_3 PQRSTUVWXY ZABCDEFGHI JKLMNOPQRS
gi_4 CDEFGHIJKL MNOPQRSTUV WXYZABCDEF
gi_5 IJKLMNOPQR STUVWXYZAB CDEFGHIJKLM

  FGHIJKLMNO PQRSTUVWXY ZABCDEFABC
  NOPQRSTUVW XYZABCDEFG HIJKLMNOPQ
  TUVWXYZABC DEFGHIJKLM NPQRSTUVWX
  GHIJKLMNOP QRSTUVWXYZ ABCDEFGHIJ
  NOPQRSTUVW XYZABCDEFG HIJKLMNOPQ

Output
gi_1 ABCDEFDHIJ KMNOPQRSTU VWXYZABCDE FGHIJKLMNO PQRSTUVWXY ZABCDEFABC
gi_2 JKLMNOPQRS TUVWXYZABC DEFGHIJKLM NOPQRSTUVW XYZABCDEFG HIJKLMNOPQ
gi_3 PQRSTUVWXY ZABCDEFGHI JKLMNOPQRS TUVWXYZABC DEFGHIJKLM NPQRSTUVWX
gi_4 CDEFGHIJKL MNOPQRSTUV WXYZABCDEF GHIJKLMNOP QRSTUVWXYZ ABCDEFGHIJ
gi_5 IJKLMNOPQR STUVWXYZAB CDEFGHIJKLM NOPQRSTUVW XYZABCDEFG HIJKLMNOPQ

thanks

Given your 'simplified' sample input above, this is what I get with the script:

gi_1 ABCDEFDHIJ KMNOPQRSTU VWXYZABCDE FGHIJKLMNO PQRSTUVWXY ZABCDEFABC
gi_2 JKLMNOPQRS TUVWXYZABC DEFGHIJKLM NOPQRSTUVW XYZABCDEFG HIJKLMNOPQ
gi_3 PQRSTUVWXY ZABCDEFGHI JKLMNOPQRS TUVWXYZABC DEFGHIJKLM NPQRSTUVWX
gi_4 CDEFGHIJKL MNOPQRSTUV WXYZABCDEF GHIJKLMNOP QRSTUVWXYZ ABCDEFGHIJ
gi_5 IJKLMNOPQR STUVWXYZAB CDEFGHIJKLM NOPQRSTUVW XYZABCDEFG HIJKLMNOPQ

If you're not seeing the same results, try changing:

RS=""

TO

FS=RS
RS=""

Your awk might be different from mine.........

No .....the awk is same for both of us
only this code
FS=RS
RS="" work wonderfully
Thanks...

I didn't mean the awk script - I meant the awk interpreter.
' RS="" ' works fine under Solaris' 'nawk', but does not work under Cygwin's 'gawk' - hence dirrent script implementation.