The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > UNIX for dummyer Spørgsmål & svar
.
google unix.com



UNIX for dummyer Spørgsmål & svar Hvis du ikke ved, hvor man skal sende en UNIX-eller Linux-spørgsmål, efter det her. Alle UNIX og Linux newbies velkommen!

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
få tegn fra produktionen af en kommando i en variabel muaz Shell Programmering og Scripting 3 06-02-2008 10:13 AM
AFSKÅRNE kommando - opskæring tegn fra slutningen af strengen JWilliams AIX 2 01-28-2008 09:12 AM
hvordan du holder newline tegn i kommando udførelse resultat? pankai Shell Programmering og Scripting 2 01-02-2008 05:41 PM
Kommando for at få kun de tre bogstaver af Måned prashanth_gs UNIX for dummyer Spørgsmål & svar 2 02-12-2007 07:38 AM
Unix Kommando til at finde nul Figurer fundidor UNIX for dummyer Spørgsmål & svar 2 05-01-2005 12:32 PM

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 04-25-2007
IHulky IHulky is offline
Registreret Bruger
  
 

Join Date: Apr 2007
Stillinger: 4
Sed kommandoen med tegn

Hej alle, jeg håber, at nogen kan hjælpe mig:

I den følgende linje:

PRIHDR; 2809999444; 2007 6,1; 20070423; 9;; 4021473000003;; 4021473000003; 8714231530688; EUR;;

Output bør være:

PRIHDR; 2809999444; 2007 6,1; 20070423; 4;; 4021473000003;; 4021473000003; 8714231530688; EUR;;

Jeg har prøvet nogle varianter af følgende kommando:

sed 's / 9;; / 4;;' <oldfile> newfile

Når jeg kører denne kommando den fortæller opfyldt hvad der skal ske med "," hvordan kan jeg løse dette problem?

Thanks in advance,

IHulky

ps de andre linjer i dokumentet (linie 2 og yderligere) skal kopieres, og at den nye fil.

Sidst redigeret af IHulky; 04-25-2007 på 08:57 PM..
  #2 (permalink)  
Old 04-25-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Sep 2006
Indlæg: 2.554
du kan bruge awk? sige, at du kun har denne linje i en fil

Code:
# awk -F ";" 'OFS=";"{$5=4;print}' file
PRIHDR;2809999444;2007 6.1;20070423;4;;4021473000003;;4021473000003;8714231530688;EUR;;

  #3 (permalink)  
Old 04-25-2007
IHulky IHulky is offline
Registreret Bruger
  
 

Join Date: Apr 2007
Stillinger: 4
Citat:
Oprindeligt Indsendt af ghostdog74
du kan bruge awk? sige, at du kun har denne linje i en fil

Code:
# awk -F ";" 'OFS=";"{$5=4;print}' file
PRIHDR;2809999444;2007 6.1;20070423;4;;4021473000003;;4021473000003;8714231530688;EUR;;
Det fungerede perfekt tak, kan du fortælle mig, hvordan du holder kommandoen på den første linje. I linjerne nedenfor nogle tegn er blevet ændret til 4.

Hvis det er nogen brugbare kun den første linje starter med PRIHDR

Tak
  #4 (permalink)  
Old 04-25-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Sep 2006
Indlæg: 2.554

Code:
awk -F ";" 'BEGIN {OFS = ";"} /^PRIHDR/{$5=4;print}  ' file

  #5 (permalink)  
Old 04-25-2007
IHulky IHulky is offline
Registreret Bruger
  
 

Join Date: Apr 2007
Stillinger: 4
Har for at teste det yderligere, når jeg kører kommandoen det udskriver den korrekte output på skærmen, men selve filen er ikke ændret.

Tak for info, har for at teste det yderligere i morgen, som den er 02:30 i morgen her i Nederlandene og arbejde starter ved 08:00 ..

Hvis du har nogen idé's Jeg elsker at høre dem.

Tak igen
  #6 (permalink)  
Old 04-25-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Sep 2006
Indlæg: 2.554
awk ikke ændre filer, medmindre du beder den om. kan du bare omlægge produktionen til en anden fil ved hjælp af den omdirigerende tegn ( "awk kommando"> anotherfile)
  #7 (permalink)  
Old 04-26-2007
anbu23 anbu23 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Mar 2006
Beliggenhed: Bangalore, Indien
Indlæg: 1.398
Citat:
Oprindeligt Indsendt af IHulky
Hej alle, jeg håber, at nogen kan hjælpe mig:

I den følgende linje:

PRIHDR; 2809999444; 2007 6,1; 20070423; 9;; 4021473000003;; 4021473000003; 8714231530688; EUR;;

Output bør være:

PRIHDR; 2809999444; 2007 6,1; 20070423; 4;; 4021473000003;; 4021473000003; 8714231530688; EUR;;

Jeg har prøvet nogle varianter af følgende kommando:

sed 's / 9;; / 4;;' <oldfile> newfile

Når jeg kører denne kommando den fortæller opfyldt hvad der skal ske med "," hvordan kan jeg løse dette problem?

Thanks in advance,

IHulky

ps de andre linjer i dokumentet (linie 2 og yderligere) skal kopieres, og at den nye fil.
Tilføj skråstreg

Code:
sed '/^PRIHDR/s/;9;;/;4;;/' <oldfile >newfile
mv newfile oldfile


Code:
perl -i -ne ' s/;9;;/;4;;/ if ( /^PRIHDR/ ); print ' file

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 06:36 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