unzip and concat files

here is a nice script to unzip a bunch of files (*.gz) and concat the zipped text-files without header.

example of the zipped text-files
first file
header1;header2
data1;data2
date3;data4

second file
header1;header2
data5;data6

data7;data8

resulting text-file
header1;header2
data1;data2
date3;data4
data5;data6

data7;data8
#!/bin/bash

# start with ./unzip_and_combine.sh

# folder should be empty except sh file and gz-files
# gz-filees should be numberd like file01.txt.gz, file02.txt.gz …

echo „started at:             „$(date)

# get first file
first_zip_file=$(ls *.gz | head -1)
echo „first zip file is:      $first_zip_file“

# unzip
for file in `ls *.gz`;
do
  #gunzip $file;
  if [ „$file“ == „$first_zip_file“ ];
  then
    echo „unzip:                  $file“
    gunzip $file
    # save first unzipped filename
    first_file=$(ls *.txt | head -1)
    echo „first unzipped file is: $first_file“
  else
    echo „unzip:                  $file“
    gunzip $file
    # save next unzipped filename
    next_file=$(ls *.txt | head -2 | tail -1)
    echo „next unzipped file is:  $next_file“
    echo „append $next_file to $first_file without header“
    more +2 $next_file >> $first_file
    echo „append done“
    echo „delete:                 $next_file“
    rm $next_file
  fi
  echo “  —  „
done
echo „finished at:            „$(date)

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s