Search code examples
linuxunixgzipsolarissunos

Combine files in one


Currently I am in this directory-

/data/real/test

When I do ls -lt at the command prompt. I get like below something-

REALTIME_235000.dat.gz
REALTIME_234800.dat.gz
REALTIME_234600.dat.gz
REALTIME_234400.dat.gz
REALTIME_234200.dat.gz

How can I consolidate the above five dat.gz files into one dat.gz file in Unix without any data loss. I am new to Unix and I am not sure on this. Can anyone help me on this?

Update:-

I am not sure which is the best way whether I should unzip each of the five file then combine into one? Or combine all those five dat.gz into one dat.gz?


Solution

  • If it's OK to concatenate files content in random order, then following command will do the trick:

    zcat REALTIME*.dat.gz | gzip > out.dat.gz
    

    Update

    This should solve order problem:

    zcat $(ls -t REALTIME*.dat.gz) | gzip > out.dat.gz