1
0
mirror of https://github.com/imapsync/imapsync.git synced 2024-11-17 00:02:29 +01:00
imapsync/W/gts/merge-csv
Nick Bebout 62531f58cd 1.920
2019-07-02 18:17:46 -05:00

38 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
# Usage:
# $ bash merge-csv.sh [directory_with_csvs]
# $Id: merge-csv,v 1.4 2018/08/28 12:29:05 gilles Exp gilles $
# Merge all non-header lines into merged.csv
merge_pattern() {
pattern=${1:-rrrrrrrrrr}
> ${pattern}_merged.csv;
for fname in `ls -r *${pattern}-stats.csv`
do
test -f $fname || continue
echo "tail -n 2 $fname | head -1"
# last one is not accurate, the day is not finished.
tail -n 2 $fname | head -1 >> ${pattern}_merged.csv;
done
test -f ${pattern}_merged.csv || return
# Get the unique rows by column 1, 2
awk -F"," '!seen[$1, $2]++' ${pattern}_merged.csv > ${pattern}_merged2.csv
# Sort the final rows in alpha order - first by the first col., then by second col.
sort -k1,1 -k2,2 ${pattern}_merged2.csv > ${pattern}_merged3.csv
# Rename and cleanup output
# Commented out 'rm' commands just in case
#rm ${pattern}_merged.csv
#rm ${pattern}_merged2.csv
mv ${pattern}_merged3.csv imapsync_github_stats_${pattern}.csv
}
merge_pattern clone
merge_pattern referrer
merge_pattern traffic