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
Elenco dei file con il percorso completo r_sethu UNIX for Dummies Domande & Risposte 5 06-15-2009 03:56 AM
Elenco dei file con il percorso completo mr_bold Shell scripting e di programmazione 3 10-07-2008 01:19 PM
per trovare il file con il percorso completo surjyap Shell scripting e di programmazione 5 01-18-2008 03:26 PM
ottenere il percorso completo di percorso relativo polypus Shell scripting e di programmazione 4 03-25-2007 01:08 PM
Percorso completo di eseguire script in ksh? BriceBu Shell scripting e di programmazione 2 09-19-2005 10:29 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 10-06-2008
aksaravanan aksaravanan is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2008
Interventi: 1
Sostituire il nome di un file con il percorso completo utilizzando sed

salve,

Ho bisogno di sostituire una linea di un file con un nuovo dispositivo di localizzazione greggio ..
file originale ..

/ opt/sybase/ASE1502/ASE-15_0/bin/dataserver \
-d/data/TST_AKS1/sybdevices/master.dat \
-e/logs/sybase/TST_AKS1/SFO_TST_AKS1.log \
-c/apps/sybase/ASE1502/ASE-15_0/TST_AKS1.cfg \
-M/apps/sybase/ASE1502/ASE-15_0 \


Ho bisogno di cambiare il valore a-d / dev/vx/rdsk/sandg-100/raw200-01
in modo nuovo file dovrebbe essere simile

/ opt/sybase/ASE1502/ASE-15_0/bin/dataserver \
-d/dev/vx/rdsk/sandg-100/raw200-01 \
-e/logs/sybase/TST_AKS1/SFO_TST_AKS1.log \
-c/apps/sybase/ASE1502/ASE-15_0/TST_AKS1.cfg \
-M/apps/sybase/ASE1502/ASE-15_0 \

Ho provato utilizzando sed
Ho impostato il nome del nuovo file in un varaiable

esportazione MyDev \u003d / dev/vx/rdsk/sandg-100/raw200-01
sed s / ^ .*-d / $ MyDev / g

non ha funzionato ..

qualsiasi idea di come rendere il lavoro, sarebbe bello se posso usare una variabile di shell all'interno sed comando per sostituire il valore ...

Ho anche cercato di awk, ma non ha funzionato o

awk '(if ($ 1 \u003d ~ "-d") print $ 0 else print $ mydevice)' <nomefile

grazie
AK
  #2 (permalink)  
Old 10-06-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmatore, autore
  
 

Iscriviti Data: marzo 2007
Luogo: Toronto, Canada
Interventi: 2.361
Citazione:
Originalmente inviato da aksaravanan View Post
salve,

Ho bisogno di sostituire una linea di un file con un nuovo dispositivo di localizzazione greggio ..
file originale ..

/ opt/sybase/ASE1502/ASE-15_0/bin/dataserver \
-d/data/TST_AKS1/sybdevices/master.dat \
-e/logs/sybase/TST_AKS1/SFO_TST_AKS1.log \
-c/apps/sybase/ASE1502/ASE-15_0/TST_AKS1.cfg \
-M/apps/sybase/ASE1502/ASE-15_0 \


Ho bisogno di cambiare il valore a-d / dev/vx/rdsk/sandg-100/raw200-01
in modo nuovo file dovrebbe essere simile

/ opt/sybase/ASE1502/ASE-15_0/bin/dataserver \
-d/dev/vx/rdsk/sandg-100/raw200-01 \
-e/logs/sybase/TST_AKS1/SFO_TST_AKS1.log \
-c/apps/sybase/ASE1502/ASE-15_0/TST_AKS1.cfg \
-M/apps/sybase/ASE1502/ASE-15_0 \

Ho provato utilizzando sed
Ho impostato il nome del nuovo file in un varaiable

esportazione MyDev \u003d / dev/vx/rdsk/sandg-100/raw200-01
sed s / ^ .*-d / $ MyDev / g

non ha funzionato ..

qualsiasi idea di come rendere il lavoro, sarebbe bello se posso usare una variabile di shell all'interno sed comando per sostituire il valore ...

Utilizza un altro delimitatore quando hai slash in uno dei settori:

Codice:
mydev=/dev/vx/rdsk/sandg-100/raw200-01
sed "s|^-d.*|$mydev|g"
Citazione:
Ho anche cercato di awk, ma non ha funzionato o

awk '(if ($ 1 \u003d ~ "-d") print $ 0 else print $ mydevice)' <nomefile

Codice:
awk -v mydev="$mydev" '/^-d/ { print mydev; next } { print }' filename
  #3 (permalink)  
Old 10-06-2008
freelong freelong is offline
Utente Registrato
  
 

Iscriviti Data: aprile 2008
Interventi: 38
Molto semplice da usare SED qui:

Codice:
sed '/-d\/data/c\
-d/dev/vx/rdsk/sandg-100/raw200-01 \\
' filename
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 è 08:11 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