![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| nom du fichier de transformation | Vrms | De programmation et de script Shell | 16 | 05-27-2008 09:49 AM |
| Color Transformation Language 1.4.1 (Default branch) | iBot | Logiciel de presse - RSS News | 0 | 03-18-2008 08:10 AM |
| Transformation Event Services | iBot | Complex Event Processing RSS News | 0 | 08-24-2007 04:30 PM |
| Appliquer la logique de transformation en 2 fichiers | HAA | De programmation et de script Shell | 1 | 07-10-2007 05:33 AM |
| Transformation majuscule | Dark Angel | UNIX pour les nuls Questions et réponses | 1 | 01-24-2002 04:17 PM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
|||||
|
Salut, J'essaie d'en extraire automatiquement les heures d'ouverture d'un site Web. La page affichant les horaires est http://www.natureetdecouvertes.com/p...sp?mag_cod\u003dxxx avec xxx passant de 101 à 174 J'ai réussi à obtenir le résultat suivant: Code:
le lundi de 10.30 à 19.30
le mardi de 9.30 à 19.30
blank
le jeudi de 9.30 à 19.30
le vendredi de 9.30 à 19.30
le samedi de 10.30 à 21.30
blank
Il ya une ligne par jour de semaine (du lundi au dimanche) blanc est une véritable ligne blanche (ne pas afficher quoi que ce soit) Comment puis-je obtenir le résultat final: Code:
"10:30 19:30|09:30 19:30| |09:30 19:30|09:30 19:30|10:30 21:30| " Merci pour votre aide. Santiago |
|
||||
|
Code:
awk -F'[^0-9]+' '{b=b (NR>1?"|":"")($2?sprintf("%02d:%02d %02d:%02d",$2,$3,$4,$5):"")}END{print b}' yourfile.txt
Si vous voulez vraiment que 11 places au lieu d'un champ vide, puis: Code:
awk -F'[^0-9]+' '{b=b (NR>1?"|":"")($2?sprintf("%02d:%02d %02d:%02d",$2,$3,$4,$5):sprintf("%11s",""))}END{print b}' yourfile.txt
Dernière édition par colemar; au 05.26.2009 06:32 AM.. |
|
||||
|
si vous avez Python, un quasi plein solution alternative Code:
#!/usr/bin/env python
import urllib2,re
pat=re.compile(""".*<span class="tdBlancBold">(.*)<div align="center">.*""",re.M|re.DOTALL)
days=['lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche']
url="http://www.natureetdecouvertes.com/pages/gener/view_FO_STORE_corgen.asp?mag_cod=%s"
for num in range(101,174):
page=urllib2.urlopen(url % str(num))
data=page.read()
if not "Impossible" in data:
result = pat.findall(data)
store={}
for i in result:
for j in i.split("<br>"):
j=j.strip()
if j.startswith("le"):
j=j.split()
if j[1] in days:
t1,t2=j[-3],j[-1]
store.setdefault(j[1],[])
store[j[1]].extend([t1,t2])
for DAY in days:
try:
print "%s |" %( ' '.join(store[DAY])),
except:
print "\t\t|",
print ""
else:
print "Page not found ",url % str(num)
extrait de la production: Code:
# python test.py 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 19.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | | 10.00 21.00 | 10.00 20.00 | | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | | 10.00 21.00 | 10.00 21.00 | 10.00 21.00 | 10.00 21.00 | 10.00 21.00 | 10.00 20.00 | | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | | 10.00 20.00 | 10.00 21.00 | 10.00 21.00 | 10.00 21.00 | 10.00 21.00 | 10.00 20.00 | | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | | Page not found http://www.natureetdecouvertes.com/pages/gener/view_FO_STORE_corgen.asp?mag_cod=110 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | 10.00 19.30 | | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | 10.00 20.00 | | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | 9.30 19.30 | | |
![]() |
| Bookmarks |
| Tags |
| awk, sed |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|