Outils d'utilisateurs

Outils du Site


lien:bash:perso:ver

retour

Voir

#!/bin/bash  
# ver pour voir ou modifier un fichier 
#utilisation de getopts les options avec - 
# si on a les couleurs on les utilise 
if [ -f $(dirname $0)/echo_couleur.sh ] 
then 
    . echo_couleur.sh 
    aff=cecho 
else 
    aff=echo 
fi 
aide() 
{ 
$aff " Les options de voir " $vert 
$aff "0) sans option affiche avec cat les fichiers de moins de 24 lignes" $bleu 
$aff "   les fichiers de plus de 24 lignes sont affichés avec less " $bleu 
$aff "-h) affiche cette aide" $rouge 
$aff "-n nb) On peut changer le nombre de lignes; nb contient ce nombre" $jaune 
$aff "-c) force l'utilisation de cat" $cyan 
$aff "-l) force l'utilisation de less" $blanc 
$aff "-d) n'affiche pas les lignes de commentaires" $magenta 
$aff "-v) n'affiche pas les lignes vides " $bleu 
$aff " Les arguments de voir : il faut mettre un fichier " $vert 
$aff " Exemple voir -d -v voir " 
} 
message=$(echo " Il faut un argument, essayez : voir -h ") 
: ${1:?$message} 
while getopts ":hceldvn:" option 
do 
   case $option in 
    h) aide 
        exit 0 ;; 
	c) cmd=cat ;; 
    e) cmd=vim ;; 
	l) cmd=cat 
	   tube="$tube |less " ;; 
	d) tube="$tube | sed -e '/^ *#[^!]/d' " ;; 
	v) tube="$tube | sed -e '/^$/d' " ;; 
	n) nb=$OPTARG ;; 
    *) echo "l'option $1 n'existe pas" 
       aide 
       exit 0 ;; 
   esac 
done 
shift $(($OPTIND -1)) 
if [ -z $cmd ] 
then  
	max_lignes=${nb:=24} 
	lignes=$(cat $1 |wc -l) 
	cmd=cat 
	if [ $lignes -gt $max_lignes ] 
		then tube="$tube |less" 
	fi 
fi 
eval "$cmd $1 $tube" 
echo "La commande était : $cmd $1 $tube" 
exit 0 
lien/bash/perso/ver.txt · Dernière modification: 2009/05/23 13:24 par per