#!/bin/bash usage(){ echo "Usage: `basename $0` -n namecol -h homenumbercol -m mobilenumbercol -o officenumbercol -t -d delimiter -l localcountrypredial -L localareapredial" echo "namecol: The number if the column where the name of the contact is stored" echo "homenumbercol: The number if the column where the home phone number of the contact is stored" echo "mobilenumbercol: The number if the column where the mobile phone number of the contact is stored" echo "officenumbercol: The number if the column where the office phone number of the contact is stored" echo "delimiter: the delimiter character used to separate columns" echo "localcountrypredial: The local country predial. in Switzerland for example 0041 which is default" echo "localareapredial: The predial code used to substitute the local contry predial. in Switzerland for example 0 which is default" echo "-t: There is a title line at the top" exit 1 } while getopts n:h:m:o:t curropt ; do case $curropt in n) namecol=$OPTARG ;; h) homenumbercol=$OPTARG ;; m) mobilenumbercol=$OPTARG ;; o) officenumbercol=$OPTARG ;; d) delimiter=$OPTARG ;; t) title=yes ;; l) localpredial=$OPTARG ;; L) localareapredial=$OPTARG ;; *) usage ;; esac done delimiter=${delimiter:-,} localpredial=${localpredial:-0041} localareapredial=${localareapredial:-0} if [ -z "$namecol" -o -z "$homenumbercol" ] ; then usage exit 1 fi echo '' echo '' echo '' firstline=yes while read line ; do name=`echo $line | awk -F $delimiter -v col=$namecol '{print $col}'|sed 's/[^a-zA-Z ]//g'` homenumber=`echo $line | awk -F $delimiter -v col=$homenumbercol '{print $col}'|sed 's/+/00/'|sed 's/[^0-9]//g'|sed "s/^$localpredial/$localareapredial/"` mobilenumber=`echo $line| awk -F $delimiter -v col=$mobilenumbercol '{print $col}'|sed 's/+/00/'|sed 's/[^0-9]//g'|sed "s/^$localpredial/$localareapredial/"` officenumber=`echo $line| awk -F $delimiter -v col=$officenumbercol '{print $col}'|sed 's/+/00/'|sed 's/[^0-9]//g'|sed "s/^$localpredial/$localareapredial/"` if [ -z "$homenumber$mobilenumber$officenumber" -o "$title" = "yes" -a $firstline = yes ] ; then firstline=no else cat < 0 $name EOF if [ -n "$homenumber" ] ; then cat <$homenumber EOF fi if [ -n "$mobilenumber" ] ; then cat <$mobilenumber EOF fi if [ -n "$officenumber" ] ; then cat <$officenumber EOF fi cat < EOF fi done echo '' echo ''