The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > UNIX för avancerade & Expertanvändare
.
google unix.com



UNIX för avancerade & Expertanvändare Expert-to-experten. Läs avancerade UNIX UNIX-kommandon, Linux operativsystem, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Jämför flera områden fil1 till fil2 tryckbehov linje och nästa rad gillesc_mac Shell-programmering och Skript 7 03-16-2009 06:26
Läsa en fil rad för rad och behandling för varje rad sagarparadkar Shell-programmering och Skript 6 03-02-2009 11:59
cat fil1 läsa linje per linje sedan grep-A 15 rader ner i fileb irongeekio Shell-programmering och Skript 6 01-28-2009 06:30
Jag behöver förslag på problemet läsa filen rad för rad och göra saker madi3d8 Shell-programmering och Skript 3 01-15-2009 11:33
SED hjälpa (ta bort raden:: Parse igen:: Lägg till raden) Malumake Shell-programmering och Skript 6 10-24-2007 06:02

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 06-28-2009
web_developer's Avatar
web_developer web_developer is offline
Registered User
  
 

Join Date: juni 2009
Ort: Durham, NC
Inlägg: 3
Hur parse du 1 rad i taget av file1 dvs. linje (n) varje rad i ny fil

Akt 1
<html> ta da .... unikt filnamn Jag vill ge filen \u003d> 343 ...</ html>
<html> da ta 234 </ html>
<html> pa da 542 </ html>
och så vidare ...

Arkiv 2
343
234
542
och så vidare, motsvarar varje rad i File 1 en också med varje rad i File 2

Jag har försökt flera grep, sedSamtidigt .. läsa, do, gjort manus och till ingen nytta.

Jag behöver en ksh skript som gör följande
(readORawkOR???) 1 rad i taget,> eller?? i motsvarande unika identifierare i HTML-koden, men den unika identifieraren i koden inte i början eller slutet av raden, den i mitten, jag har <html> och </ html> i början och slutet av varje linje ..

Varje exempelskript skulle bli stor ...

Tack
  #2 (permalänk)  
Old 06-28-2009
kshji's Avatar
kshji kshji is offline
Registered User
  
 

Join Date: juni 2009
Ort: Finland
Inlägg: 236
Du kan göra detta många sätt, men här är ett exempel hur man använder parametern expansion.

Kod:
#!/bin/ksh
# read lines from stdin
while read line
do
        # remove begin of line including <html>
        a1=${line#*<html>}
        # remove end of line including </html>
        a2=${a1%</html>*}
        # remove all char except numbers (replace not numbers with nothing)
        a3=${a2//[^0-9]/}
        print $a3
done

Och kör den

Kod:
chmod a+x thisfile
cat file1 | ./thisfile > file2

  #3 (permalänk)  
Old 06-28-2009
web_developer's Avatar
web_developer web_developer is offline
Registered User
  
 

Join Date: juni 2009
Ort: Durham, NC
Inlägg: 3
i sammandrag .. See Below

I fil1 behöver linje 1 (<html> ... unika identifier23432 .. </ html>) för att vara> till identifieraren i linje 1 i fil2 (skapa ett nytt filnamn för varje post) (23432). Html (skapa ny fil bygger på unika identifierare)

---------- Post updated at 08:51 ---------- Föregående uppdatering var vid 08:36 ----------

#! / bin / ksh

# skapa counter
cnt \u003d 0
# Läs linjer från stdin
samtidigt läsa linje
göra
# Remove börja i linje med <html>
A1 \u003d $ (line # * <html>)
# Ta bort radslut inklusive </ html>
A2 \u003d $ (A1% </ html> *)
# Bort alla röding utom nummer (ersätter inte tal om ingenting)
a3 \u003d $ (A2 / / [^ 0-9] /)
print $ a3
# increment CNT för att testa nya unika identifierare
cnt \u003d$(($ cnt +1))
Klar> $ cnt.html
$ KSH test3.ksh

test3.ksh [17]:: Bad substitution
$
Detta 1 fil skapas:
0 28 juni 08:41 0.html
tomt och ingen 1,2, 3 och så vidare ..

Några andra idéer?

Citat:
Ursprungligen postat av kshji View Post
Du kan göra detta många sätt, men här är ett exempel hur man använder parametern expansion.

Kod:
#!/bin/ksh
# read lines from stdin
while read line
do
        # remove begin of line including <html>
        a1=${line#*<html>}
        # remove end of line including </html>
        a2=${a1%</html>*}
        # remove all char except numbers (replace not numbers with nothing)
        a3=${a2//[^0-9]/}
        print $a3
done

Och kör den

Kod:
chmod a+x thisfile
cat file1 | ./thisfile > file2
Tack, men tyvärr kommer det att skapa inte vad jag behöver ..

i sammandrag .. See Below

I fil1 behöver linje 1 (<html> ... unika identifier23432 .. </ html>) för att vara> till identifieraren i linje 1 i fil2 (skapa ett nytt filnamn för varje post) (23432). Html (skapa ny fil bygger på unika identifierare)

---------- Post updated at 08:51 ---------- Föregående uppdatering var vid 08:36 ----------

#! / bin / ksh

# skapa counter
cnt \u003d 0
# Läs linjer från stdin
samtidigt läsa linje
göra
# Remove börja i linje med <html>
A1 \u003d $ (line # * <html>)
# Ta bort radslut inklusive </ html>
A2 \u003d $ (A1% </ html> *)
# Bort alla röding utom nummer (ersätter inte tal om ingenting)
a3 \u003d $ (A2 / / [^ 0-9] /)
print $ a3
# increment CNT för att testa nya unika identifierare
cnt \u003d$(($ cnt +1))
Klar> $ cnt.html
$ KSH test3.ksh

test3.ksh [17]:: Bad substitution
$
Detta 1 fil skapas:
0 28 juni 08:41 0.html
tomt och ingen 1,2, 3 och så vidare ..

Några andra idéer?

Citat:
Ursprungligen postat av kshji View Post
Du kan göra detta många sätt, men här är ett exempel hur man använder parametern expansion.

Kod:
#!/bin/ksh
# read lines from stdin
while read line
do
        # remove begin of line including <html>
        a1=${line#*<html>}
        # remove end of line including </html>
        a2=${a1%</html>*}
        # remove all char except numbers (replace not numbers with nothing)
        a3=${a2//[^0-9]/}
        print $a3
done

Och kör den

Kod:
chmod a+x thisfile
cat file1 | ./thisfile > file2


---------- Post updated at 11:40 ---------- Föregående uppdatering var vid 08:51 ----------

Tack, men tyvärr kommer det att skapa inte vad jag behöver ..
  #4 (permalänk)  
Old 06-28-2009
kshji's Avatar
kshji kshji is offline
Registered User
  
 

Join Date: juni 2009
Ort: Finland
Inlägg: 236
Jag är inte säker vad du försöker, sortera indatafil exempel och vad du vill bli resultatet exempel.

Kod:
while ...
do
     # a3 is the key value, look first example script
     > $a3.html
done


Kod:
cnt=1
while read line
do
    # create/overwrite empty file using some variable value
    > $cnt.html
    # or put something to file
    print something > $cnt.html
   ((cnt+=1))
done

  #5 (permalänk)  
Old 06-28-2009
web_developer's Avatar
web_developer web_developer is offline
Registered User
  
 

Join Date: juni 2009
Ort: Durham, NC
Inlägg: 3
Indatafil DFN och Output fil (er) DFN

Min indatafilen är en lista med html kod för produkter som har en unik nyckel som deras id-nummer i beskrivningen av koden ..

test1
<html> (koden för produkten #####)</ html> <\u003d\u003d en komplett webbsida
Jag ville använda CNT värdet utgöra en unik möjlighet att createing en ny och annan fil därför varje rad i han test1 fil så i essenct om att skapa en ny html-fil för varje linje som jag har testat och kontrollerat är åtskilda av en carrage tillbaka och inga tabbar eller carage avkastning i linje själva.


filnamn.typ är en annan möjlig indatafil jag försökte använda en mv skript för att ändra namnet på cnt.html filer som skapats av den första skriptet
Reply

Komihåglista

Taggar
parse linjer på ny fil

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 04:46.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0