The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
het schrappen van regels uit meerdere tekstbestanden Vrms Programmeren en Shell Scripting 3 04-25-2008 11:01
vervanging van de nieuwe regels in alle bestanden van een map met oude lijnen rooster005 Programmeren en Shell Scripting 1 03-25-2008 03:38 PM
Hoe te verwijderen eerste 5 lijnen en de laatste vijf regels in alle tekstbestanden ragavendran31 Programmeren en Shell Scripting 10 02-21-2008 07:58
Vervangen van tekst chrchcol Programmeren en Shell Scripting 3 07-25-2006 12:30
vervangen van tekst ajaya Programmeren en Shell Scripting 2 04-12-2006 12: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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 01-28-2008
Jonny2Vests Jonny2Vests is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 12
Het vervangen van leidingen in tekstbestanden

Hoi,

Ik heb 2 sets van tekstbestanden. Ik nodig om een gebied van een bepaalde lijn in set 1 en plaats het in dezelfde plaats in reeks B. De lijn verschijnt eenmaal per bestand, op verschillende plaatsen, maar is een set-formaat en heeft de unieke woord "ANTENNE" in en is altijd 81 tekens lang zijn. Voorbeeld van een:

" 0,0000 0,0000 0,0000 ANTENNE: DELTA H / E / N "
Voorbeeld van set B
" 0,2160 0,0000 0,0000 ANTENNE: DELTA H / E / N "

De vet-bit is het veld probeer ik te veranderen en zal een willekeurige float in beide sets.

Ik heb geprobeerd om het te doen zoals dit:

#! / bin / ksh

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

sed "s / $ (old_line) / $ (new_line) /" file1.txt> tmp2 # substituut oude lijn met de nieuwe lijn in bestand 1 en output naar tmp2

Maar dit werkt niet, waarschijnlijk omdat ik slashes in mijn grep lijnen die sed interpreteert als een soort regexp. Hoe kan ik deze ontsnappen wanneer ze zijn ingebed in een variabele? Ben ik citeer incorectly? Of is er een veel betere manier?

Jon
  #2 (permalink)  
Old 01-28-2008
raman1605 raman1605 is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2007
Posts: 41
gebruik van escape-karakterreeks

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

gebruik escape sequentie "\" en dan proberen.
  #3 (permalink)  
Old 01-28-2008
Jonny2Vests Jonny2Vests is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 12
Dit resulteert in de fout:

sed:-E meningsuiting # 1, char 81: onbekende optie `s'
  #4 (permalink)  
Old 01-28-2008
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Locatie: Boston, MA
Berichten: 5.122
Code:
sed "s#${old_line}#${new_line}#" file1.txt
  #5 (permalink)  
Old 01-28-2008
Jonny2Vests Jonny2Vests is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 12
Much appreciated.
  #6 (permalink)  
Old 01-28-2008
KevinADC KevinADC is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 731
Maar als je # in de lijnen krijg je hetzelfde probleem. Doet sed niet over een quotemeta functie / optie die u kunt gebruiken voor algemene doeleinden en geen zorgen te maken over de specifieke scheidingsteken bij het zoeken meningsuiting?
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 12:57 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0