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
veranderende toestemming via FTP panknil Programmeren en Shell Scripting 3 11-07-2007 08:08 PM
Veranderende UserID en wijzigen groep en GID deal732 Programmeren en Shell Scripting 2 04-18-2007 10:09
De volgorde met behulp van sed venu_nbk UNIX voor Dummies Questions & Answers 9 07-29-2006 05:03 PM
Veranderende Gebruikers Bab00shka Programmeren en Shell Scripting 2 08-01-2003 04:44
Het veranderen van IP's Hordak UNIX voor Dummies Questions & Answers 2 08-03-2002 12:42 AM

 
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 10-04-2008
jolecanard jolecanard is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2008
Posts: 36
Unhappy awk verandert mijn FS!

Hallo daar,

Hier is (een deel) van het bestand dat ik wil veranderen. Let op de drie ruimtes voor de "3" (zou kunnen worden "2" of "0" ook).

Code:
   3 621530  1.1935E-02 631530  1.1293E+01 641530  1.1117E-02 571540  4.4419E-14
   3 581540  2.6670E-10 591540  3.8610E-09 601540  1.1016E-06 611540  3.2618E-06
   3 611541  6.5572E-07 621540  9.8307E+00 631540  3.1177E+00 641540  1.4615E+00
   3 571550  0.0000E+00 581550  8.8139E-12 591550  1.0739E-09 601550  2.5639E-07
   3 611550  1.1011E-06 621550  3.6787E-05 631550  3.4821E+00 641550  3.1855E+00
   3 641551  0.0000E+00 581560  9.4585E-13 591560  7.5358E-11 601560  1.2023E-07
   3 611560  1.7968E-07 621560  5.4237E-04 631560  3.0054E-02 641560  6.5687E+00
   3 581570  2.3926E-14 591570  9.9322E-12 601570  4.3929E-09 611570  4.6793E-07
   3 621570  5.5911E-06 631570  6.3564E-04 641570  3.2355E+00 591580  2.8608E-13
Ik ben op zoek naar enkele ID (bijv. 621530) en verander de waarde daarna.

Ik gebruik dit script:
Code:
VALUE=".........."
awk -v var="$VALUE" 'BEGIN{}
NR==FNR{a[$0]=$0; next}
{for(i=2;i<9;i+=2)if($i in a){$(i+1)=var}}
#{$1="   "$1}
{print}' ID_to_be_changed my_file
Het probleem is dat daardoor de drie ruimtes in de voorkant van de rij als er iets verandert in de rij ... het verwijderen van de commentaar regel lost het probleem.
Maar ik weet niet hoe te houden hetzelfde aantal spaties tussen de rijen: 2 ruimten tussen de ID en de volgende waarde, en 1 ruimte tussen een waarde en de ID na dat (de bovenstaande script draait alles in een enkele ruimte).

Kan iemand mij helpen?
 

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 02:29.


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