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
Erstatt-feltet i csv pcboss Linux 4 01-19-2008 06:24
hvordan skal erstatte feltet for hver post happyv Shell programmering og Skripting 12 06-26-2007 07:56
Erstatt passordfeltet bruker ed / sed Munch UNIX for Dummies Spørsmål og svar 6 04-30-2007 11:01
finne mønster og erstatte et annet felt sergiioo Shell programmering og Skripting 3 04-11-2007 12:19
Søk og erstatt-koden hjelp trengs E Orgill UNIX for Dummies Spørsmål og svar 2 08-24-2005 03: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 Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 08-31-2007
jkl_jkl jkl_jkl is offline
Registrert bruker
  
 

Bli Dato: Aug 2007
Innlegg: 46
awk: Finn og erstatt i visse feltet, hjelp trengs

Jeg fikk et eksempel på en fil som dette.

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

Jeg ønsker å erstatte alle 100 innen 2000 bare i 3. felt med "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 prøvde å bruke noe sånt som dette også - '$ 3 ~ / 100 /
men nei :-(

Please help.

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

Bli Dato: november 2006
Sted: / dev / null
Innlegg: 177
bruke sed i stedet.

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
Registrert bruker
  
 

Bli Dato: Aug 2005
Beliggenhet: Bangalore
Innlegg: 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  
Registrert bruker
  
 

Bli Dato: Sep 2006
Innlegg: 2535
Code:
awk 'BEGIN{OFS=FS="|"}$3==100{$3=2000}{print}' file
  #5 (permalink)  
Old 08-31-2007
jkl_jkl jkl_jkl is offline
Registrert bruker
  
 

Bli Dato: Aug 2007
Innlegg: 46
Sitat:
Originally Posted by ghostdog74 View Post
Code:
awk 'BEGIN{OFS=FS="|"}$3==100{$3=2000}{print}' file
Dette er et fint svar (mer generisk), jobbet for meg :-) Takk :-)
  #6 (permalink)  
Old 02-21-2008
Jolly Jolly is offline
Registrert bruker
  
 

Bli Dato: mai 2007
Innlegg: 8
Unhappy Skynd deg! Den svært viktige for meg ...

Hei Alle,

Trenger du en rask hjelp på lignende problem ... Jeg prøver å erstatte den 87nde kolonnen ina-fil med en annen verdi, men denne kommandoen fungerer ikke for meg.

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

Kan noen hjelpe behage ...
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 08:20.


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