The UNIX and Linux Forums  


Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
fájlnévvel átalakulás vrms Shell programozás és Scripting 16 05-27-2008 09:49 AM
Color Átalakulási Nyelv 1.4.1 (Default branch) iBot Software Releases - RSS hírek 0 03-18-2008 08:10 AM
Esemény Transformation Services iBot Complex Event Processing RSS hírek 0 08-24-2007 04:30 PM
Átalakítási logikát alkalmazni a 2 különböző kép Haa Shell programozás és Scripting 1 07-10-2007 05:33 AM
Átalakítás nagybetû Dark Angel A UNIX a dummies Kérdések és válaszok 1 01-24-2002 04:17 PM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 05-26-2009
chebarbudo's Avatar
chebarbudo chebarbudo is offline
Regisztrált felhasználó
  
 

Join Date: Nov 2008
Helyszín: various
Posts: 188
Question A szöveg az átalakulás a sed vagy awk

Hi there,
Próbálom kivonat automatikusan nyitvatartási a honlapon.
Az oldalon megjelenő listában való
http://www.natureetdecouvertes.com/p...sp?mag_cod\u003dxxx
vele xxx megy 101-174
ÉN kezelt-hoz kap a következő kimenetet adja:
Kód:
      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
Van egy sor per hétköznap (hétfőtől vasárnapig)
vakpróba egy üres sor a tényleges (nem Megjelenítve semmit)
Hogyan tudom most kap a végső kimenet:
Kód:
"10:30 19:30|09:30 19:30|           |09:30 19:30|09:30 19:30|10:30 21:30|           "
Köszönöm a segítséget.
Santiago
  #2 (permalink)  
Old 05-26-2009
panyam panyam is offline Forum Advisor  
Regisztrált felhasználó
  
 

Join Date: Sep 2008
Hozzászólások: 474
Kód:
awk '{ printf("%s\t%s%s",$4,$6,"|")}' input_file.txt
  #3 (permalink)  
Old 05-26-2009
colemar colemar is offline
Regisztrált felhasználó
  
 

Join Date: Apr 2009
Helyszín: Trento, Olaszország
Posts: 116
Kód:
awk -F'[^0-9]+' '{b=b (NR>1?"|":"")($2?sprintf("%02d:%02d %02d:%02d",$2,$3,$4,$5):"")}END{print b}' yourfile.txt
Ha tényleg akarsz 11 terek helyett egy üres területre, akkor:

Kód:
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

Last edited by colemar; 05/26/2009 at 06:32 AM..
  #4 (permalink)  
Old 05-26-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Regisztrált felhasználó
  
 

Join Date: Sep 2006
Hozzászólások: 2.554
Ha van Python, szinte teljes egészében az alternatív megoldás
Kód:
 
#!/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)
extraktumának teljesítmény:
Kód:
# 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 |           |
  #5 (permalink)  
Old 07-04-2009
chebarbudo's Avatar
chebarbudo chebarbudo is offline
Regisztrált felhasználó
  
 

Join Date: Nov 2008
Helyszín: various
Posts: 188
Köszönöm mindenkinek a segítségét,
Úgy néz ki, hogy minden a menetrend szerint tárolja kijelző különböző formában, de jött a következő megoldást, amely megfelel minden tökéletesen igények:

Kód:
wget -qO- 'http://www.natureetdecouvertes.com/pages/gener/view_FO_STORE_corgen.asp?mag_cod=118' |
sed -rn 's/\r//g; s/<br>//; /^[[:space:]]*([Ll]e )?[Ll]undi/,/([Ll]e )?[Dd]imanche/ { ; /^[[:space:]]*$/!p }' |
sed -r 's/^[^0-9]*//; s/.*clipse totale.*/           /; s/ h /h/g; s/(à|de|-) //; s/\.|h/:/g; s/^9:/09:/; s/:( |$)/:00\1/g' |
sed ':a; N; $!b a; s/\n/|/g')'
Reply

Könyvjelzõk

Címkék
awk, sed

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 11:06 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0