Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
Google Site



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 07-17-2008
Utente Registrato
 

Join Date: Aug 2005
Interventi: 10
Cerca una stringa di testo e aggiungere dopo la stringa

Salve,

Ho un file di questo tipo ...

<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>

Devo aggiungere

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


dopo

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



se <an\u003d"debugLevel">
<vs\u003d"3"/>
</ a>
non esce. Devo aggiungere il tag in rosso
Se esiste è di modificare
<an\u003d"debugLevel">
<vs\u003d"4"/>
</ a>



mi potete aiutare in questo .. ogni tipo di aiuto è appriciated grazie
Sponsored Links
  #2 (permalink)  
Old 07-17-2008
 

Iscriviti Data: maggio 2008
Località: Sydney, Australia
Interventi: 1.009
Hai provato nulla finora? Vorrei utilizzare awk per fare questo. Quando si trova <an\u003d"rights"> si può leggere in anticipo alcune righe utilizzando getline. Se non contiene "DebugLevel" si può stampare il nuovo livello di debug, in caso contrario, è sufficiente aggiungere il livello di debug 3. Per ogni altra linea, appena stampato.
  #3 (permalink)  
Old 07-17-2008
Utente Registrato
 

Join Date: Aug 2005
Interventi: 10
Hi Annihilannic,
Ho usato awk '/ diritti /, / avsStoreLoc / (print)' a.xml
per estrarre il testo tra "diritti" e "avsStoreLoc" .. ma didnt help me molto
  #4 (permalink)  
Old 07-17-2008
 

Iscriviti Data: maggio 2008
Località: Sydney, Australia
Interventi: 1.009
Qui, ho fatto la maggior parte del lavoro per voi, si dovrebbe essere in grado di finire facilmente:


Codice:
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

Hai solo bisogno di riempire il "fare qualche roba qui" parte.
  #5 (permalink)  
Old 07-17-2008
Utente Registrato
 

Join Date: Aug 2005
Interventi: 10
Grazie Annihilannic awesome .. .. ha aiutato .. grazie
  #6 (permalink)  
Old 07-17-2008
Utente Registrato
 

Join Date: Aug 2005
Interventi: 10
Hi Annihilannic,
Lo script funziona bene .. ho un altro riguardano i dovrebbe essere in grado di stampare le modifiche nello stesso file in cui siamo alla ricerca .. come posso fare.
  #7 (permalink)  
Old 07-17-2008
 

Iscriviti Data: maggio 2008
Località: Sydney, Australia
Interventi: 1.009

Codice:
cp -p originalfile originalfile.bak && awk '<your script here>' originalfile.bak > originalfile

Sponsored Links
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Chiuso


Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Ricerca, sostituire stringa in file1 con stringa a partire da (tabella di ricerca) file2? gstuart Shell scripting e di programmazione 9 06-08-2009 07:11 AM
ricerca excat stringa in un'altra stringa (grep "non") bora99 UNIX for Dummies Domande & Risposte 0 06-05-2008 07:41 AM
stringa di testo da ricercare itik AIX 2 01-28-2008 07:01 PM
Perl: Cerca stringa di ricerca on-line e quindi sostituire il testo Crypto Shell scripting e di programmazione 4 01-04-2008 10:24 AM
aggiungendo stringa di file di testo basati su stringa di ricerca malaymaru Shell scripting e di programmazione 1 06-09-2006 09:53 AM



Tutti gli orari sono GMT -4. La data di oggi è 01:25 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2010. Tutti i diritti Reserved.Ad Management by RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0