The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Erstat område i csv pcboss Linux 4 01-19-2008 06:24 PM
hvordan du udskifter område for hver post happyv Shell Programmering og Scripting 12 06-26-2007 07:56 AM
Erstat adgangskodefeltet bruger ed / sed Munch UNIX for dummyer Spørgsmål & svar 6 04-30-2007 11:01 PM
finde mønster og erstatte et andet felt sergiioo Shell Programmering og Scripting 3 04-11-2007 12:19 AM
Søg og erstat kode hjælpe behov E Orgill UNIX for dummyer Spørgsmål & svar 2 08-24-2005 03:05 AM

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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 08-31-2007
jkl_jkl jkl_jkl is offline
Registreret Bruger
  
 

Join Date: Aug 2007
Stillinger: 46
awk: finde og erstatte i visse området kun hjælpe behov

Jeg fik en prøve fil som denne.

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

Jeg ønsker at erstatte alle 100 af 2000 kun i 3. felt ved hjælp af "awk"

Dette erstatter 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

Jeg forsøgte ved hjælp af noget som dette også - '$ 3 ~ / 100 /
men intet held :-(

Please help.

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

Join Date: Nov 2006
Location: / dev / null
Posts: 177
anvendelse sed i stedet for.

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
Skål,
K
  #3 (permalink)  
Old 08-31-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Registreret Bruger
  
 

Join Date: Aug 2005
Beliggenhed: Bangalore
Posts: 219
Prøv dette:

Code:
awk -F "|" '{ if ( $3 == 100 ) print $1"|"$2"|"2000"|"$4 }' test
  #4 (permalink)  
Old 08-31-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Sep 2006
Indlæg: 2.533
Code:
awk 'BEGIN{OFS=FS="|"}$3==100{$3=2000}{print}' file
  #5 (permalink)  
Old 08-31-2007
jkl_jkl jkl_jkl is offline
Registreret Bruger
  
 

Join Date: Aug 2007
Stillinger: 46
Citat:
Oprindeligt Indsendt af ghostdog74 View Post
Code:
awk 'BEGIN{OFS=FS="|"}$3==100{$3=2000}{print}' file
Dette er et pænt svar (mere generisk), arbejdet for mig :-) Tak :-)
  #6 (permalink)  
Old 02-21-2008
Jolly Jolly is offline
Registreret Bruger
  
 

Join Date: May 2007
Stillinger: 8
Unhappy Skynd dig! Dens meget presserende for mig ...

Hi All,

Brug for en hurtig hjælp på lignende spørgsmål ... Jeg forsøger at erstatte den 87. kolonne Ina-fil med en anden værdi, men denne kommando ikke arbejde for mig.

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

Kan nogen hjælpe venligst ...
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 01:39 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0