The UNIX and Linux Forums  

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
Vervang veld in CSV pcboss Linux 4 01-19-2008 06:24 PM
hoe te vervangen veld voor elk record happyv Programmeren en Shell Scripting 12 06-26-2007 08:56
Vervang wachtwoord veld ED / sed Munch UNIX voor Dummies Questions & Answers 6 05-01-2007 12:01 AM
vinden patroon en vervangt een ander veld sergiioo Programmeren en Shell Scripting 3 04-11-2007 01:19
Zoeken en vervangen code hulp nodig E Orgill UNIX voor Dummies Questions & Answers 2 08-24-2005 04:05

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 08-31-2007
jkl_jkl jkl_jkl is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2007
Posts: 46
awk: zoeken en vervangen in bepaalde gebied alleen, hulp nodig

Ik heb een voorbeeld bestand als deze.

$ Cat test
12 | 13 | 100 | s
12 | 13 | 100 | s
100 | 13 | 100 | s
12 | 13 | 100 | s

Ik wil alle 100 te vervangen door 2000 slechts in 3de veld met behulp van "awk"

Dit is ter vervanging van alle 100's :-(
$ Awk-F "|" '(gsub (/ 100 /, "2000");) print' test
12 | 13 | 2000 | s
12 | 13 | 2000 | s
2000 | 13 | 2000 | s
12 | 13 | 2000 | s

Ik probeerde met zoiets als dit ook - '$ 3 ~ / 100 /
maar geen geluk :-(

Please help.

HTH,
jkl_jkl
  #2 (permalink)  
Old 08-31-2007
kamitsin's Avatar
kamitsin kamitsin is offline
Geregistreerde gebruiker
  
 

Join Date: november 2006
Locatie: / dev / null
Posts: 177
gebruiken sed in plaats van.


Code:
/home/kamitsin>sed 's/|100/|2000/g' s2

HTML-code:
12|13|2000|s
12|13|2000|s
100|13|2000|s
12|13|2000|s
Sante,
K
  #3 (permalink)  
Old 08-31-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2005
Locatie: Bangalore
Posts: 219
Probeer dit:


Code:
awk -F "|" '{ if ( $3 == 100 ) print $1"|"$2"|"2000"|"$4 }' test

  #4 (permalink)  
Old 08-31-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Sep 2006
Berichten: 2558

Code:
awk 'BEGIN{OFS=FS="|"}$3==100{$3=2000}{print}' file

  #5 (permalink)  
Old 08-31-2007
jkl_jkl jkl_jkl is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2007
Posts: 46
Citaat:
Oorspronkelijk geplaatst door ghostdog74 View Post
Code:
awk 'BEGIN{OFS=FS="|"}$3==100{$3=2000}{print}' file
Dit is een mooi antwoord (meer generieke), werkte voor mij :-) Thanks :-)
  #6 (permalink)  
Old 02-21-2008
Jolly Jolly is offline
Geregistreerde gebruiker
  
 

Join Date: May 2007
Posten: 8
Unhappy Schiet! Zijn zeer dringend voor mij ...

Hi All,

Noodzaak van een snelle hulp op de soortgelijke kwestie ... ik probeer in de plaats van de 87e kolom ina-bestand met een andere waarde, maar deze opdracht werkt niet voor mij.

awk 'BEGIN (OFS \u003d FS \u003d";"}$ 87 \u003d\u003d 10000019 ($ 9 \u003d 123456700) (print)' ab

Can someone help please ...
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 04:08 PM.


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