The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
slette linjer fra flere tekstfiler Vrms Shell programmering og Skripting 3 04-25-2008 12:01
setter nye linjer i alle filer av en katalog med gamle linjer rooster005 Shell programmering og Skripting 1 03-25-2008 03:38
Slik sletter første 5 linjer og de fem siste linjene i alle tekstfiler ragavendran31 Shell programmering og Skripting 10 02-21-2008 07:58
Erstatte tekst chrchcol Shell programmering og Skripting 3 07-25-2006 01:30
erstatte tekst ajaya Shell programmering og Skripting 2 04-12-2006 01:31

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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 01-28-2008
Jonny2Vests Jonny2Vests is offline
Registrert bruker
  
 

Bli Date: Jan 2008
Innlegg: 12
Bytte linjer i tekstfiler

Hei,

Jeg har 2 sett av tekstfiler. Jeg må ta et felt fra en bestemt linje i stille 1 og sette den på samme sted i stille b. Linjen vises én gang per fil, på forskjellige steder, men er et sett format og har den unike ordet "ANTENNE" i det, og alltid er 81 tegn. Eksempel fra angi en:

" 0,0000 0,0000 0,0000 ANTENNE: DELTA H / E / N "
Eksempel fra satt b
" 0,2160 0,0000 0,0000 ANTENNE: DELTA H / E / N "

Den dristige bit feltet Jeg prøver å endre og vil være et tilfeldig flyter i begge sett.

Jeg prøver å gjøre dette på følgende måte:

#! / bin / ksh

old_line \u003d `grep ANTENNE ./file1.txt`
new_line \u003d `grep ANTENNE ./file2.txt`

sed "s / $ (old_line) / $ (new_line) /" file1.txt> tmp2 # erstatte gamle tråd med ny linje i filen 1 og utgang til tmp2

Men dette fungerer ikke, trolig fordi jeg har skråstreker i mine grep linjer som sed tolker som en slags regexp. Hvordan kan jeg slippe unna disse når de er forankret i en variabel? Jeg sitere incorectly? Eller er det en mye bedre måte?

Jon
  #2 (permalink)  
Old 01-28-2008
raman1605 raman1605 is offline
Registrert bruker
  
 

Bli Dato: Aug 2007
Innlegg: 41
bruke escape-sekvens

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

bruke escape-sekvens "\" og prøv.
  #3 (permalink)  
Old 01-28-2008
Jonny2Vests Jonny2Vests is offline
Registrert bruker
  
 

Bli Date: Jan 2008
Innlegg: 12
Dette resulterer i feil:

sed:-E uttrykk # 1, char 81: unknown alternativet `s'
  #4 (permalink)  
Old 01-28-2008
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderator
  
 

Bli Date: Feb 2005
Sted: Boston, MA
Innlegg: 5122
Code:
sed "s#${old_line}#${new_line}#" file1.txt
  #5 (permalink)  
Old 01-28-2008
Jonny2Vests Jonny2Vests is offline
Registrert bruker
  
 

Bli Date: Jan 2008
Innlegg: 12
Mye verdsatt.
  #6 (permalink)  
Old 01-28-2008
KevinADC KevinADC is offline Forum Advisor  
Registrert bruker
  
 

Bli Date: Jan 2008
Innlegg: 731
Men hvis du har # i linjene får samme problem. Gjør sed ikke ha en quotemeta funksjon / alternativ du kan bruke til mer generelle formål og ikke trenger å bekymre deg for det spesifikke skilletegn i søkefeltet uttrykk?
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 11:40.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0