The UNIX and Linux Forums  

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
kombinere felter i to tekstfelter shocker Shell Programmering og Scripting 3 01-16-2008 11:27 AM
cut: Få en eller to felter maxvirrozeito Shell Programmering og Scripting 3 12-17-2007 11:58 AM
Cut Seneste 3 Fields Bourne Shell Programmering og Scripting 4 01-11-2007 05:17 AM
Seneste felter Khoomfire UNIX for Advanced & Ekspertsøgning Brugere 3 04-13-2006 06:03 PM
hvordan man kan skære felter rajan_ka1 Shell Programmering og Scripting 1 12-29-2005 05:55 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 11-18-2008
ddurden7 ddurden7 is offline
Registreret Bruger
  
 

Join Date: oktober 2008
Stillinger: 5
Specificering og erstatte felter med awk

# cat BATCH007.TXT
01,661060052,061000104,081118,0915,07,80,1,2 /
99,,, 2 /

Jeg har denne fil kaldet BATCH007.TXT. Jeg forsøger at ændre felterne 2 og 3 på linje 2 at have nuller. Sådan her:
01,661060052,061000104,081118,0915,07,80,1,2 /
99,0,0,2 /

Jeg kan bruge disse kommandoer til at udskrive identificere de områder, der returnerer en tom værdi, som de skulle:
hoved -2 BATCH007.TXT | tail-1l | awk '(FS \u003d","} (print $ 2)'
hoved -2 BATCH007.TXT | tail-1l | awk '(FS \u003d","} (print $ 3)'

Jeg tror, jeg er tæt på. Jeg har tilføjet en gusb til ovenstående kommando, men produktionen er forkert:

hoved -2 BATCH007.TXT | tail-1l | awk-F "," '(gsub ($ 2, "0"); print)' BATCH007.TXT> D.new

$ cat D.new
01,661060052,0,081118,0915,07,80,1,2 /
09090,0,0,020 / 0

Er der nogen forslag?
  #2 (permalink)  
Old 11-18-2008
insamniac insamniac is offline
Registreret Bruger
  
 

Join Date: Aug 2006
Stillinger: 14
udseende hjemmearbejde til mig
  #3 (permalink)  
Old 11-19-2008
Christoph Spohr Christoph Spohr is offline
Registreret Bruger
  
 

Join Date: Sep 2008
Posts: 205
Hej,

Jeg ved ikke præcis, hvad du forsøger at gøre, men hvis du kun ønsker at skifte linje 2 i din fil, hvilket skulle være nok:


Code:
sed "/^99/s/,,,/,0,0,/g" file

Hvilket betyder: gå til den linje, der starter med 99, og på denne linje erstatte tre kommas i række ved, 0,0,

HTH Chris
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 04:44 AM.


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