Script pour ajouter des espaces entre les lignes

tatouille a dit:
bah réflechi

si pas dans mon range alors ->stderr
tu dois aussi penser que ton arg doit etre un integer

// Que je mette oui ou non il m'effectue le changement de nombre d'interlignes

indice :
en bash c'est souvent le cas lorsqu'il y a une erreur le test est toujours vraie


Pour stderr ok , je veux dire que si zeNUMBER != au chiffre que j'ai rentré qu'il mette echo "Veuillez entrer un nombre d'arguments correct" mais je sai spas avec quoi faire la comparaison. Je sais pas comment l'écrire.

Et pour le test qu'est toujours vrai , j'ai essayé de remplacer par non dans la condition mais ca marche toujours , je vois vraiment pas pourquoi ca marche a chaque fois :( :( :(
 
Une nouvelle version (mais je n'ai pas remis la suppression des lignes vides).
Bloc de code:
#!/bin/bash

#
# Usage
#
usage ()
{
    echo "$0 [-f|-r|-n <number>] source destination"
    echo "    -f          : if not set the script won't overwrite an"
    echo "                  existing destination file "
    echo "    -n <number> : set the number of blank lines to add must be"
    echo "                  a strictly positive integer. This is optional"
    echo "                  and default is 2"
    exit 0
}

#
# Test whether the value is a strictly positive integer.
#
testNumber()
{
    echo $1 | grep "^[1-9][0-9]*$" > /dev/null 2>&1
    if [ "$?" -eq "0" ]; then
        return 0
    else
        return 1
    fi
}

#=============================================================================

# First, let's initialize vars

zeERASE="n"
zeNUMBER=2

# Then read the options ...

while getopts :hfn: c
do
    case $c in
        h)    usage $0
            ;;
        f)    zeERASE="y"
            ;;
        n)  zeNUMBER=$OPTARG
            ;;
        \?)    $ECHO "Unknown option [$c] : ignored."
            usage $0
            ;;
        esac
done
shift `expr $OPTIND - 1`

# ... and test them

if ! testNumber "$zeNUMBER" ; then
    usage $0
fi

# Then check the parameters ...

if [ $# -lt 2 ]
then
    usage $0
fi

zeINPUT=$1
zeOUTPUT=$2

# ... and test them

if [ ! -f $zeINPUT ]; then
    printf "\nSource doesn't exist ...\n\n"
    usage $0
fi

if [ -f $zeOUTPUT ]; then
    if [ "$zeERASE" != "y" ]; then
        printf "\nDestination already exists ; use '-f' to overwrite\n\n"
        usage $0
    fi
fi

# Now everything is defined, let's start !
zeCOUNT=0
while read line
do
    if [ $zeCOUNT -ne 0 ]; then
        for (( i=1 ; i <= $zeNUMBER ; i++ )); do
            echo ""
        done
    else
        zeCOUNT=1
    fi
    echo $line
done < $zeINPUT > $zeOUTPUT
 
Merci à tous , j'ai réussi enfin à le faire ce truc ^^, c'est vraiment super sympa de votre part, ca marche du tonerre, merci infinniement pour votre amabilité et votre gentillesse, c'est vraiment super super sympa.

Encore merci ;) :up: :up: :up: :up:

Spécial Merci pour Bompi et tatouille ;) :up: :up:
 
belzebuth a dit:
bon moi je demande un changement de titre!

J'ai changé le titre qui ne voulait effectivement plus rien dire ;)
 
C'est vrai que je me suis fendu d'un script en PERL et d'un autre en bash ... Pfff... quel suée !! :D
 
tatouille a dit:
tu veux une bash :eek::D:D:D:D:D


Trop bon :D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D




bompi a dit:
C'est vrai que je me suis fendu d'un script en PERL et d'un autre en bash ... Pfff... quel suée !! :D

:rose::rose: Merci mon piti bompi :rose::rose::D:D:up::up:
 
et bah mon poutou bompi :D:D:D:D:D

je crois quee tu peux payer un coup à BOMPI
J'AURAIS PLUTOT RENOMMÉ en "Sauver Willy" :D:D:D:D:D

mais bon les jneus pourquoi vous paniquez lorsque vous avez à faire un chti truc
la bonne méthodes c'est de bien faire l'inventaire de ce que l'on veut

une fois la démarche logique accomplie on peut commencer à écrire quelque
chose sereinement sans crier au secours

:zen:
 
Il faudra bientôt ouvrir un "Bar développeur" si ça continue :D ;)