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 06/02/2010, à 20:44

nesthib

[JEU] challenge bash #1

1265482796.png

[informations sur le jeu]

challenge bash #1     >>

géolocalisation IP

le challenge consiste à réaliser un script capable d'afficher la ville et les coordonnées géographiques correspondant à une adresse IP. Il pourra se baser sur des sites comme http://www.utrace.de/ et http://www.geoiptool.com/.
N'hésitez pas à proposer des options dans votre script afin de le rendre le plus intéressant possible.

exemple d'utilisation :

$ challenge1 216.239.59.104
Ville : Mountain View
Longitude: -122.0574
Latitude:	37.4192


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#2 Le 07/02/2010, à 14:53

nesthib

Re : [JEU] challenge bash #1

solution de Totor :

#!/bin/bash

# liste des tags xml 
patterns=( "<ip>" "<host>" "<isp>" "<region>" "<coutrycode>" "<latitude>" "<longitude>" )
# liste des libelles associes
libelles=( "IP" "Hôte" "FAI" "Ville" "Pays" "Latitude" "Longitude" )
# liste des formats acceptés
formats=( "i" "h" "f" "v" "p" "l" "L" )


myHelp()
{
exec >&2
cat <<EOF
$1
-
${0##*/} [-f <format>] IP
format : chaine de caractères acceptant 
  %i - ip
  %h - l'hôte
  %f - le FAI
  %v - la ville
  %p - le pays
  %l - la latitude
  %L - la longitude
EOF
exit 1
}

while getopts :f: option
do
  case ${option} in
    f) format="${OPTARG}"
       exec 4>&1 >/dev/null;;

    :) myHelp "Argument manuquant pour l'option ${OPTARG}.";;

    ?) myHelp "Option non valide : ${OPTARG}.";;
  esac
done
shift $((OPTIND-1))


# lecture du flux associé à la requête http

while read ligne
do
  # pour chaque libelle, on verifie l'existence et on l'affiche si trouvé dans la ligne du flux en court
  for index in {0..6}
  do
	 [[ "${ligne}" = ${patterns[${index}]}* ]] && 
	 {
		# - suppression du tag de debut de ligne
		valeur="${ligne#${patterns[${index}]}}"
		# - suppression du tag de fin
		valeur="${valeur%</*}"
		# - affichage de la valeur
		echo "${libelles[${index}]} : ${valeur}" >&3
		format="${format//\%${formats[${index}]}/${valeur}}"
	 }
  done
done < <(wget -q  -O - "http://xml.utrace.de/?query=$1")  3>&1

[ -t 4 ]  && exec 1>&4 4>&- && echo -e "${format}"

solution de nesthib :

#!/usr/bin/env bash

usage() {
echo "Usage : ${0} [-HICRABah] [adresse IP|nom d'hôte]
Options :
   -H	affiche le nom d'hôte
   -I	affiche l'adresse IP
   -C	affiche le code du pays
   -R	affiche la région/ville
   -A	affiche la latitude de l'emplacement géographique 
   -B	affiche la longitude de l'emplacement géographique 

   -a	affiche toutes les informations
   -q	n'affiche pas les intitulés
   -h	affiche ce message d'aide"
exit
}

#lecture des options
AFFICHAGE=true
while getopts HICRABaqh OPTION
do
	DEFAULT=false
	case ${OPTION} in
		H) INFOS="${INFOS} 0" ;;
		I) INFOS="${INFOS} 1" ;;
		C) INFOS="${INFOS} 2" ;;
		R) INFOS="${INFOS} 3" ;;
		A) INFOS="${INFOS} 4" ;;
		B) INFOS="${INFOS} 5" ;;
		a) INFOS="0 1 2 3 4 5" ;;
		q) AFFICHAGE=false ;;
		*) usage ;;
	esac
done
${AFFICHAGE} || INFOS="0 1 2 3 4 5" 
${DEFAULT} && INFOS="0 1 2 3 4 5"
IP=${!OPTIND}

#définition des identifiants et intitulés
IDENTIFIANTS=( 'host' 'ip' 'countrycode' 'region' 'latitude' 'longitude' )
INTITULES=( "nom d'hôte" "adresse IP" "pays" "région/ville" "latitude" "longitude" )

#fonction de parsing
function parse () {
	CLE=${IDENTIFIANTS[${1}]}
	${AFFICHAGE} && echo -n "${INTITULES[${1}]} : " ; sed -n "s|<${CLE}>\(.*\)</${CLE}>|\1|p" <<<"${2}"
}

#récupération des informations
TEXT=$(curl -s "http://xml.utrace.de/?query=${IP}")
for INFO in ${INFOS}
do
	parse ${INFO} "${TEXT}"
done

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#3 Le 07/02/2010, à 16:45

Saito

Re : [JEU] challenge bash #1

Preum's apparemment (j'avais rien à faire cet après-midi tongue) :

#!/bin/bash

declare -a results

usage ()
{
cat >&2 <<EOF
Usage : $0 [-nipcrmtah] [adresse IP|nom d'hôte]
Options :
	-n, affiche le nom d'hôte
	-i,         l'adresse IP
	-p,         le nom du pays
	-c,         le code pays
	-r,         la région
	-m,         le code postal
	-t,         l'indicateur téléphonique
	-a, affiche tout
	-h, affiche cette aide
Par défaut, seules la ville, la longitude et la latitude sont affichés.
À noter que si l'on ne précise pas d'adresse IP ou de nom d'hôte, votre propre IP est utilisée.
EOF
exit 1
}

get_data ()
{
results+=("$(grep -A 1 "$1:" geoip.tmp | sed -e 's:<[^>]*>::g' | tail -1)")
}

print_data ()
{
 [[ $nomhote ]] || [[ $all_options ]] && echo -e "Nom d'hôte : ${results[0]}"
 [[ $adresseip ]] || [[ $all_options ]]  && echo -e "Adresse IP : ${results[1]}"
 [[ $pays ]] || [[ $all_options ]]  && echo -e "Pays : ${results[2]}"
 [[ $codepays ]] || [[ $all_options ]]  && echo -e "Code pays : ${results[3]}"
 [[ $region ]] || [[ $all_options ]]  && echo -e "Région : ${results[4]}"
 echo -e "Ville : ${results[5]}"
 [[ $codepostal ]] || [[ $all_options ]]  && echo -e "Code Postal : ${results[6]}"
 [[ $indictel ]] || [[ $all_options ]]  && echo -e "Indicatif téléphonique : ${results[7]}"
 echo -e "Longitude : ${results[8]}"
 echo -e "Latitude : ${results[9]}"
}

while getopts nipcrmtah options
do
	case $options in
	n) nomhote=on;;
	i) adresseip=on;;
	p) pays=on;;
	c) codepays=on;;
	r) region=on;;
	m) codepostal=on;;
	t) indictel=on;;
	a) all_options=on;;
	h) usage ;;
	\?) echo "L'option $options n'existe pas.";usage ;;
	esac
done
shift $(( $OPTIND - 1 ))

wget --quiet http://www.geoiptool.com/fr/?IP="$1" -O geoip.tmp
for i in "Nom d'h&ocirc;te" "Adresse IP" Pays "Code de pays" "R&eacute;gion" Ville "Code postal" "Indicatif t&eacute;l." Longitude Latitude 
do
get_data "$i"
done

print_data

rm -f geoip.tmp
exit 0

Aku-Soku-Zan_Shinsengumi

Hors ligne

#4 Le 07/02/2010, à 17:35

ljere

Re : [JEU] challenge bash #1

moi j'aurais pris comme base curl avec cette adresse ça simplifierai le script je pense

#!/bin/bash
curl http://xml.utrace.de/?query=216.239.59.104

ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#5 Le 07/02/2010, à 18:37

AnsuzPeorth

Re : [JEU] challenge bash #1

C'est pas un script, mais une ligne avec curl et sed ! (la commande sed peut être amélioré)

curl http://www.geoiptool.com/fr/?IP=128.112.139.56 | sed -n '118,147p' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba;s/&eacute;/é/g'
                Pays:
                United States 
              
              
                Code de pays:
                US (USA)
              
              
                Région:
                New Jersey
              
              
                Ville:
                Princeton
              
              
                Code postal:
                08540
              
              
                Indicatif tél.:
                +1
              
              
                Longitude:
                -74.6597
              
              
                Latitude:
                40.3756

EDIT: En piochant le sed dans le code de saito. Un curl et un sed !

curl http://www.geoiptool.com/fr/?IP=128.112.139.56 | sed -n '118,147{s:<[^>]*>::g;s/&eacute;/é/g;p}'

Dernière modification par AnsuzPeorth (Le 07/02/2010, à 18:50)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#6 Le 07/02/2010, à 19:18

ljere

Re : [JEU] challenge bash #1

en piochant le sed de AnsuzPeorth et mon curl

#!/bin/bash
curl -s http://xml.utrace.de/?query=216.239.59.104 | sed -e :a -e 's/<[^>]*>//g;/</N;//ba;s/&eacute;/é/g' >ip
216.239.59.104

Google
Google
Mountain View
US
37.4192008972
-122.057403564
23

ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#7 Le 07/02/2010, à 20:10

toto2006

Re : [JEU] challenge bash #1

bon c'est pas tres propre smile

wget http://xml.utrace.de/?query=$1   -O - -o /dev/null | grep '<region\|<longitude\|<latitude' | sed -e 's/</ /g'|sed -e 's/>/ /g' |sed -e 's/region/ville/g' | cut -d '/' -f 1
 ville Mountain View 
 latitude 37.4192008972 
 longitude -122.057403564

Hors ligne

#8 Le 07/02/2010, à 20:36

Totor

Re : [JEU] challenge bash #1

Bonsoir,

Outre curl ou wget, personne n'est en mesure de fournir une version "full bash" ? car là est l'un des "intérêts" du jeu...


-- Lucid Lynx --

Hors ligne

#9 Le 07/02/2010, à 20:39

Totor

Re : [JEU] challenge bash #1

toto2006 a écrit :

bon c'est pas tres propre smile

héhé.. l'aveu !
la présentation du jeu indique qualité et clarté du code wink


-- Lucid Lynx --

Hors ligne

#10 Le 08/02/2010, à 00:28

AnsuzPeorth

Re : [JEU] challenge bash #1

Totor a écrit :

la présentation du jeu indique qualité et clarté du code wink

Heuuu, ca complique les choses là !

Sinon, une version fullbash .(ca rallonge un peu les choses qd même, et niveau qualité et clarté .... !)

#! /bin/bash
# Principe : Récuperer la ligne suivante item et enlever les balises html.
# Données à traiter: 
#      <td align="right"><span class="arial">Code de pays:</span></td>
#      <td align="left" class="arial_bold">US (USA)</td>
#
# si n=0 et si on trouve l'item dans la ligne, on charge var, n=1 et on passe à la ligne suivante
# si n=1, on substitue les balises html, on affiche le résultat et n=0

echo "
# Informations de l'adresse IP $1 
##############################################"

n=0
while read ligne
do
if [ $n = 0 ]; then
   [[ $ligne =~ "Pays:" ]] && var="Pays" && n=1 && continue
   [[ $ligne =~ "Code de pays:" ]] && var="Code de pays" && n=1 && continue
   [[ $ligne =~ "gion:" ]] && var="Région" && n=1 && continue
   [[ $ligne =~ "Ville:" ]] && var="Ville" && n=1 && continue
   [[ $ligne =~ "Code postal:" ]] && var="Code postal" && n=1 && continue
   [[ $ligne =~ "Indicatif" ]] && var="Indicatif tél." && n=1 && continue
   [[ $ligne =~ "Longitude:" ]] && var="Longitude" && n=1 && continue
   [[ $ligne =~ "Latitude:" ]] && var="Latitude" && n=1 && continue
fi

if [ $n = 1 ]; then
   resultat_tmp=${ligne#<*>}
   #si lien dans la ligne, substitution supplémentaire
   [[ $ligne =~ href ]] &&  resultat_tmp=${resultat_tmp#<*>}  
   resultat=${resultat_tmp%%<*>}
   echo -e "$var\n→ $resultat\n"
   n=0
fi
done < <(curl -s http://www.geoiptool.com/fr/?IP=$1)
exit
~$ script.sh 128.112.139.56

# Informations de l'adresse IP 128.112.139.56 
##############################################
Pays
→  United States

Code de pays
→ US (USA)

Région
→ New Jersey

Ville
→ Princeton

Code postal
→ 08540

Indicatif tél.
→ +1

Longitude
→ -74.6597

Latitude
→ 40.3756

Ou en moins bien presenté: (mais moins de lignes)

#! /bin/bash
# Principe : Récuperer ligne item et enlever balises html.

echo "
# Informations de l'adresse IP $1 
##############################################"

while read ligne
do
if [[ $ligne =~ "arial_bold" ]]; then
   resultat_tmp=${ligne#<*>}
   #si lien dans la ligne, substitution supplémentaire
   [[ $ligne =~ href ]] &&  resultat_tmp=${resultat_tmp#<*>}  
   resultat=${resultat_tmp%%<*>}
   echo " $resultat"
fi
done < <(curl -s http://www.geoiptool.com/fr/?IP=$1)
exit
# Informations de l'adresse IP 128.112.139.56 
##############################################
 
 hptest-1.CS.Princeton.EDU
 128.112.139.56
  United States
 US (USA)
 New Jersey
 Princeton
 08540
 +1
 -74.6597
 40.3756

Ou encore plus court mais encore moins jojo !

#! /bin/bash
while read ligne
do
resultat=${ligne#<*>}
echo ${resultat%<*>}
done < <(curl http://xml.utrace.de/?query=$1)
exit

Dernière modification par AnsuzPeorth (Le 08/02/2010, à 00:56)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#11 Le 08/02/2010, à 02:24

Link31

Re : [JEU] challenge bash #1

On a dit "full bash" ! Interdiction d'utiliser curl...

#!/bin/bash
exec 3<> /dev/tcp/xml.utrace.de/80
echo "GET http://xml.utrace.de/?query=$1 HTTP/1.0" 1>&3
echo 1>&3
while read 0<&3
do
        [[ $REPLY =~ ^\< ]] || continue
        resultat=${REPLY#<*>}
        [ -n "$resultat" ] && echo ${resultat%<*>}
done

Hors ligne

#12 Le 08/02/2010, à 04:18

frafa

Re : [JEU] challenge bash #1

pfff...
meme pas peur! smile
c'est pas du jeu fallait rajouter dans les règles sont exclu: Link31 Totor alain.g et Consorts
ils trichent sont sou viagra j'en suis sur!

Dernière modification par frafa (Le 08/02/2010, à 04:19)

Hors ligne

#13 Le 08/02/2010, à 04:39

Yannou90

Re : [JEU] challenge bash #1

Bonjour

A la les gars vous faites TROP fort moi ca m'ecoeure je retourne jouer au billes sad

Hors ligne

#14 Le 08/02/2010, à 05:32

frafa

Re : [JEU] challenge bash #1

je change les règles y a trop de dopés ici!
sur 1 ligne de moins de 120 caractères sans compter #!/bin/bash  et na!
en plus je suis sur que c'est jouable...

ma contribution...

#!/bin/bash
var="$(GET http://xml.utrace.de/?query=$1 HTTP/1.0)" 
echo -e "${var%</result>*}" | awk -F"<" '{print $2}' | grep -v '>$' | sed 's/>/ : /'

boudiou il est tard, euh tôt...

EDIT:
j'avait mal compté trop facile
moins de 90 caractères...

GET http://xml.utrace.de/?query=$1 | sed -n '4,11p' | awk -F"<" '{print $2}' | sed '/>$/d;s/>/ : /'

c'est qui le roi de sed ici ?
pas moi ca je le sait Merci smile

Dernière modification par frafa (Le 08/02/2010, à 06:22)

Hors ligne

#15 Le 08/02/2010, à 05:42

Yannou90

Re : [JEU] challenge bash #1

Vas y frafra faut y croire cool ... bon je retourne a mes billes

Hors ligne

#16 Le 08/02/2010, à 06:41

frafa

Re : [JEU] challenge bash #1

ah ben j'y arrive à 90, alors y a mieux c'est sur...

GET http://xml.utrace.de/?query=$1 | awk -F"<" '{print $2}' | sed '4,11!d;/>$/d;s/>/ : /'

bon zou j'ai un peu revisé sed, en progres peut mieux faire...
arf sans moi...

Sorry!</b><br><br>You've reached the maximum requests per day and user.<br>Feel free to contact us about the commercial usage of this service.

Dernière modification par frafa (Le 08/02/2010, à 07:05)

Hors ligne

#17 Le 08/02/2010, à 07:12

ljere

Re : [JEU] challenge bash #1

je ne pense pas que le but soit de faire le plus petit bout de code possible, mais plutôt l'inverse ce qui permet au débutant comme moi de comprendre les diverses possibilité et option possible.


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#18 Le 08/02/2010, à 10:33

Totor

Re : [JEU] challenge bash #1

Bonjour,

Link31 a écrit :

On a dit "full bash" ! Interdiction d'utiliser curl...

#!/bin/bash
exec 3<> /dev/tcp/xml.utrace.de/80
echo "GET http://xml.utrace.de/?query=$1 HTTP/1.0" 1>&3
echo 1>&3
while read 0<&3
do
        [[ $REPLY =~ ^\< ]] || continue
        resultat=${REPLY#<*>}
        [ -n "$resultat" ] && echo ${resultat%<*>}
done

Bien vu Link31 !
J'avoue que les solutions que je proposerai utilisaient wget.

ljere a écrit :

je ne pense pas que le but soit de faire le plus petit bout de code possible, mais plutôt l'inverse ce qui permet au débutant comme moi de comprendre les diverses possibilité et option possible.

C'est exactement l'objectif. Je me suis associé à nesthib à sa demande pour lancer ce jeu. L'objectif est effectivement pédagogique. Je ne participe donc pas aux challenges. Je suis là comme soutient.

frafa a écrit :

[..]c'est pas du jeu fallait rajouter dans les règles sont exclu: Link31 Totor alain.g et Consorts[..]

c'est sûr qu'alain.g est hors catégorie wink (pour moi, il reste mon mentor)
je pense également à sputnick
cependant, les exclure ne me semble pas la meilleure solution. La preuve en est : Link31 a proposé une solution vraiment full bash. A mon sens, ils peuvent avoir le même rôle que moi : intervenir pour conseiller, donner des pistes et expliquer les diverses possibilités (avantages et inconvénients des choix)

Il était prévu que nous donnions une solution dans la journée. Je pense que nous avons déjà fait le tour de la question. Je me suis réveillé ce matin avec une amélioration à faire sur mon script. Nous les posterons ce soir car je n'aurai pas le temps de travailler dessus en journée.

Dernière modification par Totor (Le 08/02/2010, à 11:11)


-- Lucid Lynx --

Hors ligne

#19 Le 08/02/2010, à 13:46

n3o51

Re : [JEU] challenge bash #1

Bonjour , je pense qu'un nouveau challenge est d'actualité devant les solutions proposés par les mentors smile (Alain.g a bannir tongue
Totor a exclure , sptunick j'y met mon veto big_smile )

Il serait bien que des personnes sachant bien scripter n'apportent des solutions qu'après résultat du vainqueur de la semaine.

Cela n'engage que moi bien sur big_smile

PS : Félicitation a Link31 pour sa solution full bash

Dernière modification par n3o51 (Le 08/02/2010, à 13:49)


Welcome to the real world
________________________________

Hors ligne

#20 Le 08/02/2010, à 17:30

frafa

Re : [JEU] challenge bash #1

+1 bravo à Link31 pour le full bash...
exclusion c'est bien sur de l'humour, alain.g etant aussi mon gourou en la matière.

Hors ligne

#21 Le 08/02/2010, à 18:21

AnsuzPeorth

Re : [JEU] challenge bash #1

Cela étonne qql'un la réponse de Link31 ??? Je suis pas du tout surpris, semblable à lui même !

Par contre, savoir qui est le bashgourou du forum, j'hésite, link31, alain.g, totor, plus récemment Sputnick, etc etc .... ???

Ca pourrait être intéressant, un challenge dans le challenge, qui est le gourou du forum ?

Alors c'est sur, les personnes concernés, avec leur modestie naturel aux personnes de savoir, feront la fine bouche, mais peut être cela les motiverait un peu wink

Les honneurs et la reconnaissance font tjrs plaisirs, et par la même nous permettrait, nous apprenti en la matière, de progresser !

J'attends de voir ce que totor va nous proposer, mais Lnk31 a fait fort sur ce coup !
Dommage qu'Alain.g ne passe plus souvent, on aurait vue de jolies choses entre tout ces experts !

ps:Il faudrait peut être prévoir plusieurs catégories dans les challenges, débutant, intermédiaire, expert. Que tout le monde ose s'exprimer .... ! Sinon ... Passe pour un con jean-pierre !


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#22 Le 08/02/2010, à 18:58

toto2006

Re : [JEU] challenge bash #1

Je conviens que ma solution est moche smile et donc du coup hors sujet .

par contre pour le Fullbash , je ne suis pas sure que que l'utilisation de GET peut être qualifiée comme full bash .

cf man GET qui renvois sur lwp   LWP - The World-Wide Web library for Perl
et l'édition de /usr/bin/GET non montre bien que c'est un script perl.

sinon pour faire un version fullbash il faudrait aussi avoir un bash compilé avec --enable-net-redirections mais bon c'est considéré comme un trou de sécurité...

Hors ligne

#23 Le 08/02/2010, à 20:21

n3o51

Re : [JEU] challenge bash #1

+1 d'accord avec Ansuz en rajoutant nesthib


Welcome to the real world
________________________________

Hors ligne

#24 Le 08/02/2010, à 20:25

ljere

Re : [JEU] challenge bash #1

il est précisé nulle part que ça doit être du fullbash mais juste du bash et comme ça s'adresse à tout le monde je ne vois pas l'inconvénient d'utiliser curl ou get
j'attends donc avec impatience la solution de nesthib et de totor et le prochain défi


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#25 Le 09/02/2010, à 00:23

nesthib

Re : [JEU] challenge bash #1


      --- FIN DU CHALLENGE ---

le gagnant est : Saito pour son code élaboré et sa prise en charge d'options (et puis c'était aussi le plus rapide)
Il devient ainsi le premier à avoir son nom sur la liste des gurus ! Qui sera le prochain ?

mention spéciale à Link31 pour sa requète sans wget/curl

prochain challenge à venir très bientôt (on pensait que ça durerait plus qu'une journée ^^ vous êtes trop rapides)

solution de Totor et la mienne au post #2

n'hésitez pas à faire vos propositions de challenges


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne