<\u003d en "" /> Sök en sträng och lägga till text efter strängen - Unix och Linux Forums
The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Sök ersätta strängen i fil1 med string från (uppslagstabell) fil2? gstuart Shell-programmering och Skript 9 06-08-2009 06:11
Sök excat snöre i en annan sträng (grep "inte") bora99 UNIX for Dummies Frågor & Svar 0 06-05-2008 06:41
sökadressen textsträng itik AIX 2 01-28-2008 07:01
Perl: Sök efter strängen online sedan söka och ersätta text Crypto Shell-programmering och Skript 4 01-04-2008 10:24
lägga till strängen till textfil bygger på söksträng malaymaru Shell-programmering och Skript 1 06-09-2006 08:53

Closed Thread
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 07-16-2008
kesu2k kesu2k is offline
Registered User
  
 

Join Date: Aug 2005
Inlägg: 10
Sök en sträng och lägga till text efter strängen

Hej,

Jag har en fil som denna ...

<ot\u003d"Batch" id\u003d"8410" p\u003d"/" g\u003d"32">
<an\u003d"name">
<vs\u003d"DBBA1MM"/>
</ a>
<an\u003d"owner">
<vr\u003d"/[AdminUser]Administrator"/>
</ a>
<an\u003d"rights">
<vs\u003d"95"/>

</ a>
<an\u003d"debugLevel">
<vs\u003d"3"/>

</ a>
<an\u003d"avsStoreLoc">
<vs\u003d"/home/kp1771/fw_base_path/collectors/DBBA1MM/avs"/>
</ a>
</ o>
<ot\u003d"Batch" id\u003d"8410" p\u003d"/" g\u003d"27">
<an\u003d"name">
<vs\u003d"DBBA1MM"/>
</ a>
<an\u003d"owner">
<vr\u003d"/[AdminUser]Administrator"/>
</ a>
<an\u003d"rights">
<vs\u003d"95"/>
</ a>

<an\u003d"avsStoreLoc">
<vs\u003d"/home/kp1771/fw_base_path/collectors/DBBA1MM/avs"/>
</ a>
</ o>

Jag måste tillägga

<an\u003d"debugLevel">
<vs\u003d"3"/>
</ a>


efter

<an\u003d"rights">
<vs\u003d"95"/>
</ a>



om <an\u003d"debugLevel">
<vs\u003d"3"/>
</ a>
inte utgångar. Jag måste lägga till taggen i rött
Om existerar måste ändra
<an\u003d"debugLevel">
<vs\u003d"4"/>
</ a>



kan du hjälpa mig på detta .. någon typ av hjälp är uppskattad tack
  #2 (permalänk)  
Old 07-16-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: maj 2008
Plats: Sydney, Australien
Inlägg: 1009
Har du provat något så här långt? Jag skulle använda awk att göra detta. När det visar <an\u003d"rights"> Du kan läsa vidare några rader med getline. Om det innehåller "debugLevel" du kan skriva ut nya debug-nivå, om inte, lägg bara debug nivå 3. För varannan linje, bara skriva ut det.
  #3 (permalänk)  
Old 07-17-2008
kesu2k kesu2k is offline
Registered User
  
 

Join Date: Aug 2005
Inlägg: 10
Hej Annihilannic,
Jag använde awk '/ rättigheter /, / avsStoreLoc / (print)' a.xml
ett utdrag av texten mellan "rättigheter" och "avsStoreLoc" .. men det didnt hjälpa mig mycket
  #4 (permalänk)  
Old 07-17-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: maj 2008
Plats: Sydney, Australien
Inlägg: 1009
Här har jag gjort det mesta av jobbet åt dig, bör du kunna avsluta det enkelt:

Kod:
awk '
        /n="rights"/ {
                print
                getline ; print
                getline ; print
                getline
                if (match($0,"debugLevel")) {
                        print "<a n=\"debugLevel\">\n<v s=\"4\"/>\n</a>"
                        # consume and discard next two lines
                        getline
                        getline
                } else {
                        # do some stuff here
                        print
                }
                next
        }
        1 # print other lines
' inputfile > outputfile
Du behöver bara fylla i "göra lite saker här" del.
  #5 (permalänk)  
Old 07-17-2008
kesu2k kesu2k is offline
Registered User
  
 

Join Date: Aug 2005
Inlägg: 10
awesome .. Tack Annihilannic .. Det hjälpte .. tack
  #6 (permalänk)  
Old 07-17-2008
kesu2k kesu2k is offline
Registered User
  
 

Join Date: Aug 2005
Inlägg: 10
Hej Annihilannic,
Skriptet fungerar bra .. jag har en större oro jag skulle kunna skriva ut de ändringar i samma fil där vi söker .. hur kan jag göra.
  #7 (permalänk)  
Old 07-17-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: maj 2008
Plats: Sydney, Australien
Inlägg: 1009
Kod:
cp -p originalfile originalfile.bak && awk '<your script here>' originalfile.bak > originalfile
Closed Thread

Komihåglista

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 12:21.


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