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
eliminando le linee da più file di testo Vrms Shell scripting e di programmazione 3 04-25-2008 12:01 PM
sostituzione di nuove linee in tutti i file di una directory contenente vecchie linee rooster005 Shell scripting e di programmazione 1 03-25-2008 03:38 PM
Come eliminare i primi 5 linee e ultime cinque righe in tutti i file di testo ragavendran31 Shell scripting e di programmazione 10 02-21-2008 07:58 AM
Sostituzione testo chrchcol Shell scripting e di programmazione 3 07-25-2006 01:30 PM
sostituire il testo ajaya Shell scripting e di programmazione 2 04-12-2006 01:31 PM

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 01-28-2008
Jonny2Vests Jonny2Vests is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 15
Sostituzione di linee di file di testo

Salve,

Ho 2 set di file di testo. Ho bisogno di prendere un campo a partire da una certa linea nel set 1 e lo ha messo nello stesso posto in serie B. La linea viene visualizzata una sola volta per ogni file, in luoghi diversi, ma è un insieme formato ed è l'unica parola "antenna" in essa e 'sempre 81 caratteri. Esempio di impostare una:

" 0,0000 0,0000 0,0000 ANTENNA: DELTA H / E / N "
Esempio di serie b
" 0,2160 0,0000 0,0000 ANTENNA: DELTA H / E / N "

Il grassetto è il campo po 'che sto cercando di cambiare e sarà una casuale galleggiano in entrambi i gruppi.

Ho provato a farlo in questo modo:

#! / bin / ksh

old_line \u003d `grep ./file1.txt ANTENNA»
new_line \u003d `grep ./file2.txt ANTENNA»

sed "s / $ (old_line) / $ () new_line /" file1.txt> tmp2 # sostituire vecchi linea con la nuova linea nel file 1 e l'output a tmp2

Ma questo non funziona, probabilmente perché ho slash in avanti nella mia grep linee che sed interpreta come una sorta di regexp. Come faccio a scappare quando queste sono incorporate in una variabile? Sono citando incorectly? Oppure c'è un modo molto migliore?

Jon
  #2 (permalink)  
Old 01-28-2008
raman1605 raman1605 is offline
Utente Registrato
  
 

Join Date: Aug 2007
Interventi: 41
uso sequenza di escape

sed "s \ / $ (old_line) \ / $ (new_line) \ /" f

uso sequenza di escape "\" e poi provare.
  #3 (permalink)  
Old 01-28-2008
Jonny2Vests Jonny2Vests is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 15
Il risultato è l'errore:

sed: Espressione-e # 1, char 81: sconosciuta opzione di `s'
  #4 (permalink)  
Old 01-28-2008
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2005
Località: Boston, MA
Messaggi: 5.131

Codice:
sed "s#${old_line}#${new_line}#" file1.txt

  #5 (permalink)  
Old 01-28-2008
Jonny2Vests Jonny2Vests is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 15
Molto apprezzato.
  #6 (permalink)  
Old 01-28-2008
KevinADC KevinADC is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Messaggi: 731
Ma se si ha # nelle linee si ottiene lo stesso problema. Fa sed non ha ancora una funzione quotemeta / opzione è possibile utilizzare per scopi di carattere più generale e non devono preoccuparsi della delimitatore specifico nel campo di ricerca, espressione?
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 è 04:22 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