Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/11/2011, à 15:37

ammar

explication

bonjour est ce que vous pouvez m expliquez la role de cette fonction
merci
function ij
{
    local i
    local j
    i=`echo $1 | cut -d c -f1 | cut -d l -f2`
    j=`echo $1 | cut -d c -f2 `
    echo $i $j
}

Hors ligne

#2 Le 14/11/2011, à 15:48

Haleth

Re : explication

Ben, ca prend le premier argument ($1).
On le coupe en morceau séparé par c, on prend le premier morceau.
Idem pour l. On affiche.
On reprend $1, on affiche  le 2eme morceau.

Exemple, avec $1 = 'alzcr', on obtient 'z r'

Dernière modification par Haleth (Le 14/11/2011, à 15:50)


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#3 Le 14/11/2011, à 15:48

Michel Leunen

Re : explication

ammar a écrit :

    i=`echo $1 | cut -d c -f1 | cut -d l -f2`

Ceci prend dans une chaîne de caractères  tout ce qui est avant 'l' et après 'c'.

ammar a écrit :

    j=`echo $1 | cut -d c -f2 `

Coupe tout ce qui est avant 'c'.

ammar a écrit :

    echo $i $j

Affiche le résultat du premier concaténé avec le second.
L'ensemble est une fonction qui est sensée couper un string en deux et inverser les deux parties.


Michel Leunen
http://linux.leunen.com

Hors ligne

#4 Le 14/11/2011, à 15:59

ammar

Re : explication

merci beaucoup,j ai bien compris

Hors ligne

#5 Le 14/11/2011, à 20:48

ehmicky

Re : explication

Salut,
Cela pourrait aussi être écrit :

function ij2
{
  local Var="${1%%c*}"
  echo "${Var##*l} ${1##*c}"
}

En plus, c'est 100 fois plus rapide :

$ time for i in {1..10000} ; do ij2 "azlkjhckh" > /dev/null ; done
real    0m2.161s
$ time for i in {1..10000} ; do ij "azlkjhckh" > /dev/null ; done
real    3m36.825s

Dernière modification par ehmicky (Le 14/11/2011, à 20:56)


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne