The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Byt område csv pcboss Linux 4 01-19-2008 06:24
hur man kan ersätta fält för varje post happyv Shell-programmering och Skript 12 06-26-2007 08:56
Byt lösenord fält med ed / sed Munch UNIX for Dummies Frågor & Svar 6 05-01-2007 12:01
hitta mönster och ersätta ett annat fält sergiioo Shell-programmering och Skript 3 04-11-2007 01:19
Sök och ersätt Hjälp behövs E Orgill UNIX for Dummies Frågor & Svar 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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 08-31-2007
jkl_jkl jkl_jkl is offline
Registered User
  
 

Join Date: Aug 2007
Inlägg: 46
awk: Sök och ersätt i vissa fält endast hjälp behövs

Jag fick ett prov fil som denna.

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

Jag vill ersätta alla 100 från 2000 bara i 3rd fält med "awk"

Detta ersätter alla 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

Jag försökte med något sådant här också - "3 $ ~ / 100 /
men ingen tur :-(

Please help.

HTH,
jkl_jkl
  #2 (permalänk)  
Old 08-31-2007
kamitsin's Avatar
kamitsin kamitsin is offline
Registered User
  
 

Join Date: Nov 2006
Ort: / dev / null
Inlägg: 177
använda sed istället.

Kod:
/home/kamitsin>sed 's/|100/|2000/g' s2
HTML-kod:
12|13|2000|s
12|13|2000|s
100|13|2000|s
12|13|2000|s
Skål,
K
  #3 (permalänk)  
Old 08-31-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Registered User
  
 

Join Date: Aug 2005
Ort: Bangalore
Inlägg: 219
Prova detta:

Kod:
awk -F "|" '{ if ( $3 == 100 ) print $1"|"$2"|"2000"|"$4 }' test
  #4 (permalänk)  
Old 08-31-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Inlägg: 2.538
Kod:
awk 'BEGIN{OFS=FS="|"}$3==100{$3=2000}{print}' file
  #5 (permalänk)  
Old 08-31-2007
jkl_jkl jkl_jkl is offline
Registered User
  
 

Join Date: Aug 2007
Inlägg: 46
Citat:
Ursprungligen postat av ghostdog74 View Post
Kod:
awk 'BEGIN{OFS=FS="|"}$3==100{$3=2000}{print}' file
Detta är ett trevligt svar (mer generiska), fungerade för mig :-) Tack :-)
  #6 (permalänk)  
Old 02-21-2008
Jolly Jolly is offline
Registered User
  
 

Join Date: maj 2007
Inlägg: 8
Unhappy Skynda! Dess mycket brådskande för mig ...

Hej Alla,

Behöver en snabb hjälp på liknande fråga ... Jag försöker att ersätta den 87: e kolumnen ina fil med något annat värde, men detta kommando fungerar inte för mig.

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

Kan någon hjälpa snälla ...
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 11:25.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0