#!/bin/bash # Par Julien MOREAU ( jmoreau@bigfoot.com ) nbps=1 # Nombre de paramètres souhaités nom_cmde=`basename $0` # Nom de la commande usage="Usage: $nom_cmde [-n] [-d ] [...]" # Aide usage=$usage"\n\tConcatène des fichiers en mettant leur titre entre chaque." usage=$usage"\n\tPratique pour faire un seul fichier de plusieurs" usage=$usage"\n\t et éventuellement l'envoyer par e-mail ou sur imprimante." usage=$usage"\n\tL'option -n fait sauter une ligne après chaque fichier." usage=$usage"\nExemples:\t$nom_cmde ex?|a2ps\tou\t$nom_cmde *|lp\tou encore" usage=$usage"\n\t\t$nom_cmde *.c|mailx -s \"Mes sources C\" login" if test `uname` != "HP-UX" ; then e="-e" ; fi sepa="***************" # 15 #sepa=$sepa$sepa if test "$1" = "-n" ; then opt="n$opt" ; shift ; fi if test "$1" = "-d" ; then if [[ -a $2 ]] ; then echo "Fichier destination déjà existant !" 1>&2 ; exit 2 fi dest=$2 ; shift 2 fi if [ $# -lt $nbps ] ; then # Si le nombre de paramètres est incorrecte, echo $e $usage 1>&2 ; exit 2 # Affichage aide puis arrêt. fi set $* if test -n "$dest" ; then exec >> $dest ; fi for fichier in $* ; do fic=`basename $fichier` if test "$fichier" = "$dest" ; then echo "*** $fichier dans destination et source !" 1>&2 else if test ! -r $fichier ; then echo "*** $fichier : fichier illisible !" 1>&2 else echo "$sepa $fic $sepa" cat $fichier if test -n "$opt" ; then echo ; fi fi fi done exit 0 # Sortie sans erreur