hého a écrit, mardi 15 juillet 2008, à 23:22 : > Jacques L'helgoualc'h a écrit, le 14.07.2008 16:45 : [...] > > wget -q -O - http://checkip.dyndns.org/ | sed -re 's/^.*: ([0-9.]+).*/\1/' > > > d'ac ;) > > > wget ... | awk -F'[ <]' '{print $(NF-2)}' > > > là j'ai pas compris le coup du double "field separator" > > pourquoi awk prend le $(NF-2) sur "<" et pas sur " " ?
Le « FS » est une regexp, la classe des deux caractères encadrant l'expression à extraire : $ wget -q -O - http://checkip.dyndns.org/ <html><head><title>Current IP Check</title></head><body>Current IP Address: 92.129.89.113</body></html> Comme j'ai la flemme de compter les champs à gauche, je vois à droite deux "<" et aucun espace (NF = nombre de champs). J'ai eu de la chance, pas d'espace traînant en fin de ligne, mais il serait plus sûr d'utiliser -F': |<' ... et en remplaçant $(NF-2) par $8, c'est encore plus court ! wget -q -O- checkip.dyndns.org|awk -F': |<' '{print$8}' (il y a un champ $1 vide à gauche du premier "<"). Si tu ne veux pas compter jusqu'à huit, ... | awk -F'Address: |</body' '{print$2}' > cordialement aussi, -- Jacques L'helgoualc'h -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

