The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



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.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Per sapere se è il file di aggiornamento o di non raj333 Shell scripting e di programmazione 2 11-05-2007 05:29 PM
Aggiornare il file in rete braindrain Shell scripting e di programmazione 4 06-20-2007 02:37 PM
Perché il mio sar non è l'aggiornamento del file di output. skneeli UNIX e avanzata per utenti esperti 1 11-12-2006 08:29 PM
Aggiornare un file in un archivio ZIP dbridle AIX 6 09-27-2006 04:29 PM
l'aggiornamento e l'invio di un file su rete bhakti Di programmazione ad alto livello 1 09-21-2005 03:10 AM

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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 03-24-2008
bisla.yogender bisla.yogender is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2008
Interventi: 30
Exclamation Sed Guida in Aggiornamento qualcosa solo in una linea particolare.

Salve,

Il scenerio è che voglio sostituire un testo in una determinata linea di un file. Ma quando io sto usando sed si sostituisce tutte le occorrenze di quel testo.

Come il file è:

> cat prova
DNGGF10: Nessuno: Test
DNGGF11: ABC: Test1
DNGGF12: Nessuno: Test2
DNGGF13: Nessuno: Test3


Ho scritto il seguente codice per questo: --
> gatto script
name \u003d $ 1

sed "s /` grep DNGGF10 prova | cut-d ':'-f2 `/ $ 1 /" prova> test.chk



Ma durante l'esecuzione del codice . / script Yogi Sono quindi sempre O / p in test.chk come:

> cat test.chk
DNGGF10: Yogi: Test
DNGGF11: ABC: Test1
DNGGF12: Yogi: Test2
DNGGF13: Yogi: Test3


Ma voglio replce secondo campo solo per la linea che contiene DNGGF1O cioè il 1 ° line.Also spazio totale sapce nel secondo campo non dovrebbe inoltre avere alterato.

Si prega di fare luce su di esso.

Grazie -
Yogi

Ultimo a cura di bisla.yogender; al 03/24/2008 09:27 AM..
  #2 (permalink)  
Old 03-24-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2007
Messaggi: 4.315
E 'questo quello che stai cercando?

Codice:
sed "/DNGGF10/s/None/$1/" test > test.chk
Saluti
  #3 (permalink)  
Old 03-24-2008
bisla.yogender bisla.yogender is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2008
Interventi: 30
Grazie, ho ricevuto il mio suggerimento da qui. Ho cambiato il mio codice a:

sed "/ DNGGF10 / s / a` grep DNGGF10 prova | cut-d ':'-f2 `/ $ 1 /" prova> test.chk

Ora sono in grado di sostituire solo il testo che paritucular linea, ma lo spazio dopo Nessuno è ancora ottenere alterato che non dovrebbe accadere.

Linea prima di sostituire il testo:

DNGGF10: Nessuno: Test (4 Spazi dopo Nessuno)

Dopo aver eseguito lo script di. / Script abc

DNGGF10: abc: Test

Mentre non vi dovrebbero essere cinque spazi dopo abc.

Si prega di suggerire.

Saluti,
Yogi
  #4 (permalink)  
Old 03-24-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2007
Messaggi: 4.315
Se si desidera fissare colonne che si possono usare awk:

Codice:
awk -v var=$1 '
BEGIN{FS=OFS=":"}
/DNGGF10/{$2=sprintf("%-8s", var)}1
' test > test.chk
Usa nawk / o usr/xpg4/bin/awk su Solaris.

Saluti
  #5 (permalink)  
Old 03-24-2008
trifoglio shamrock is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: ottobre 2007
Posizione: Stati Uniti d'America
Interventi: 753
Codice:
sed '/DNGGF10/s/\(.*\) \(.*\) \(.*\)/\1 :\1 \3/' test >test.chk
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 Su




Tutti gli orari sono GMT -4. La data di oggi è 01:21 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-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0