# $Id: joinup.awk,v 1.1 2002-04-12 16:39:57 jan Exp $ # # Copyright (C) 1999, 2001 by Jan-Oliver Wagner # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # DESCRIPTION: # This script reads in files with two columns and joins # the values of the second column to the previous line if # the value of the first column is the same. # Sample: # 1,3 -> 1,3 5 # 1,5 2,3 # 2,3 3,5 8 # 3,5 # 3,8 BEGIN { FS = "," from = -1 to_list = "" } { if (from == $1) { to_list = sprintf("%s %s", to_list, $2) } else { if (from != -1) printf("%d,%s\n", from, to_list) from = $1 to_list = $2 } } END { if (from != -1) printf("%d,%s\n", from, to_list) }