nanard06 a écrit 8 commentaires

  • [^] # Re: warning

    Posté par  . En réponse au message message erreur concatenation. Évalué à 1.

    Merci je vais essayer
  • # C'est Ok

    Posté par  . En réponse au message récuperer l'initiale d'un prenom. Évalué à 1.

    Comme je ne suis pas gourmand mais gourmet j'ai conservé mon regex et ai ajouté le substr suggéré par Yves.
    Ce qui donne le script suivant:
    <pre>
    open (LISTE, "<liste.csv") or die "$!";
    while (my $ligne = <LISTE>) {
    next unless my ($prenom, $nom, $group) =
    $ligne =~ /"([^"]+[^"])",\s*"([^"]+)",\s*"([^"]+)"/g;
    $initial=substr($prenom,0,1);
    print "$group$initial$nom\n";
    }
    </pre>

    Qui me donne le résultat que je souhaitais
    A1jdupont
    A2gmartin

    Un grand merci à tous
  • # Résultat

    Posté par  . En réponse au message Hachage d'un document .csv. Évalué à 3.

    La solution finale qui va bien.
    #!/bin/bash
    
    IFS=","
    
    cat villes.csv | tr -d \" | while read pays ville num; do
    pays=`echo $pays | cut -c1-3`
    ville=`echo $ville`
    num=`echo $num | tr -d '[A-Z]'`
    
    echo "$pays$ville$num"
    done
    
    
    Voilà le résultat.
    
    fraparis1
    itarome1
    chipekin1
    fralyon2
    perlima1
    espmadrid1
    espbarcelonne2
  • # Hachage d'un document .csv

    Posté par  . En réponse au message Hachage d'un document .csv. Évalué à 2.

    Un grand merci à tous. VRAIMENT!

    J'ai utilisé IFS et ça fonctionne super (je ne connaissais pas ce truc).



    Problème résolu à 100%
  • # Modifier un fichier image

    Posté par  . En réponse au message Modifications images. Évalué à 1.

    Bon j'ai trouvé.
    #!/bin/bash
    
    #######################################################################
    # Reduire un fichier donne en parametre  a un taux donné en paramètre #
    #
    
    # Si nb param < 2 => sortie
    if [ $# -lt 2 ]
    then 
    	echo "Usage : $0 fichier.jpg taux(%)"
    	exit 1
    fi
    
    # Si le nom passé en paramètre ne correspond pas à un fichier lisible => sortie
    if [ ! -r $1 ]  # -r : fichier existe et est accessible en lecture, rappel : ! : négation
    then 
    	echo "$1 n'existe pas ou n'est pas accessible en lecture";
    	exit 2;
    fi
    
    # Si le fichier ne possède pas l'extension jpg => sortie
    
    echo $1 | grep -i "jpg$" > /dev/null
    
    if [ $? != "0" ] 	# si la dernière commande s'est exécutée avec succès ($1 fini bien par jpg)
    then 
    	echo "Le fichier ne possède pas l'extension jpg";
    	exit 3;
    fi
    
    
    # Conversion
    NOM=`basename $1`
    DIR=`dirname $1`
    NOM_SORTIE=$DIR/little_$NOM
    
    convert -resize $2% $1 $NOM_SORTIE 2> /dev/null # si erreur, les messages d'erreur de la commande convert sont redirigés vers la corbeille
    
    #si erreur sur la dernière commande (test de $?)
    if [ $? != "0" ]
    then 
    	echo "Conversion echouée (mauvais format ?) ";
    	exit 4
    else 	echo "Reduction de $1 à $2% vers le fichier $NOM_SORTIE effectuée" 
    fi
    
    exit 0
    
    
    Merci à tous ceux qui m'ont répondu.
  • # Modifications images

    Posté par  . En réponse au message Modifications images. Évalué à 1.

    Pour fred ton script me semble intéressant:
    $ while read line; do
    > case $line in
    > *.[Jj][Pp][Gg]|*.[Jj][Pp][Ee][Gg])
    > echo "C'est un fichier JPEG (peut-être)"
    > ;;
    > *)
    > echo "C'est pas du JPEG"
    > ;;
    > esac
    > done
    blah.png
    C'est pas du JPEG
    blah.jpeg
    C'est un fichier JPEG (peut-être)
    blah.JPG
    C'est un fichier JPEG (peut-être)
    blah.jpeg2000
    C'est pas du JPEG
    
    
    Mais je le place où dans mon script?
    
    Amicalement
  • # Modifications images

    Posté par  . En réponse au message Modifications images. Évalué à 1.

    En fait echo "usage | ..."

    J'ai vu ça dans des exemples mais je ne sais pas à quoi ça sert.
  • # Merci à tous. Vraiment super cette communauté Linux

    Posté par  . En réponse au message Modifications images. Évalué à 2.

    J' ai vu toutes vos solutions et vais les tester. Bien sur je vous ferai part des résultats (bien que ces résultats dépendent avant tout de moi. Et oui ! Si votre solution est bonne mais que je me plante ça ne fonctionnera pas. Soyez indulgents car ce n'est pas évident de se lancer dans Linux et les scripts à mon age (56 ans). En fait je me suis aperçu que ce problème était mineur puisque le shell me renvoi un message d'erreur même si ce n'est pas celui que je voudrais. Par contre je me suis aussi aperçu que si je voulais modifier la taille de la vignette il fallait que je modifie mon script. Donc il me paraît intéressant de mettre le % en paramètre et non pas dans le script afin d'avoir le choix de la taille. J'avais pensé à un echo "usage : ..." Avez vous une idée ? Amicalement