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 > UNIX for Dummies Spørsmål og svar
.
google unix.com



UNIX for Dummies Spørsmål og svar Hvis du er usikker på hvor du skal legge inn en UNIX-eller Linux-spørsmålet, legger den her. Alle UNIX og Linux newbies velkommen!

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Få tegn fra produksjon av en kommando i en variabel muaz Shell programmering og Skripting 3 06-02-2008 09:13
CUT kommando - cutting tegn fra slutten av streng JWilliams AIX 2 01-28-2008 09:12
Hvordan holde newline tegn i kommandoen kjøres resultatet? pankai Shell programmering og Skripting 2 01-02-2008 05:41
Kommandoen for å få bare de tre karakterer i måneden prashanth_gs UNIX for Dummies Spørsmål og svar 2 02-12-2007 07:38
Unix-kommando for å finne Nul Karakterer fundidor UNIX for Dummies Spørsmål og svar 2 05-01-2005 11:32

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 04-25-2007
IHulky IHulky is offline
Registrert bruker
  
 

Bli Dato: april 2007
Innlegg: 4
Sed kommandoen med tegn

Hei alle, jeg håper at noen kan hjelpe meg:

I det følgende linje:

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

Utdataene skal være:

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

Jeg har prøvd noen varianter på følgende kommando:

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

Når jeg kjører denne kommandoen det forteller møtt hva jeg skal gjøre med det ";" hvordan kan jeg løse dette problemet?

Takk på forhånd,

IHulky

ps de andre linjene i dokumentet (linje 2 og videre) må kopieres i tillegg til den nye filen.

Sist endret av IHulky; 04-25-2007 på 07:57..
  #2 (permalink)  
Old 04-25-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: Sep 2006
Innlegg: 2521
du kan bruke awk? sier du bare at 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
Registrert bruker
  
 

Bli Dato: april 2007
Innlegg: 4
Sitat:
Originally Posted by ghostdog74
du kan bruke awk? sier du bare at linje i en fil
Code:
# awk -F ";" 'OFS=";"{$5=4;print}' file
PRIHDR;2809999444;2007 6.1;20070423;4;;4021473000003;;4021473000003;8714231530688;EUR;;
Det fungerte utmerket takk, kan du fortelle meg hvor å beholde kommandoen på første linje. I linjene nedenfor enkelte tegn er endret til 4.

Hvis det er noen nyttige bare den første linjen starter med PRIHDR

Takk
  #4 (permalink)  
Old 04-25-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: Sep 2006
Innlegg: 2521
Code:
awk -F ";" 'BEGIN {OFS = ";"} /^PRIHDR/{$5=4;print}  ' file
  #5 (permalink)  
Old 04-25-2007
IHulky IHulky is offline
Registrert bruker
  
 

Bli Dato: april 2007
Innlegg: 4
Nødt til å teste den videre, når jeg kjører kommandoen utskrift riktig utgang på skjermen, men selve filen er ikke endret.

Takk for info, har til å teste den ytterligere i morgen som det er 02:30 om morgenen her i Nederland, og arbeidet starter på 08:00 ..

Hvis du har ideen står jeg gjerne høre dem.

Takk igjen
  #6 (permalink)  
Old 04-25-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: Sep 2006
Innlegg: 2521
awk endrer ikke filer, med mindre du ber om det. du kan bare omdirigere utdataene til en fil ved hjelp av viderekobling sign ( "awk kommandoen"> anotherfile)
  #7 (permalink)  
Old 04-26-2007
anbu23 anbu23 is offline Forum Advisor  
Registrert bruker
  
 

Bli Date: Mar 2006
Beliggenhet: Bangalore, India
Innlegg: 1398
Sitat:
Originally Posted by IHulky
Hei alle, jeg håper at noen kan hjelpe meg:

I det følgende linje:

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

Utdataene skal være:

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

Jeg har prøvd noen varianter på følgende kommando:

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

Når jeg kjører denne kommandoen det forteller møtt hva jeg skal gjøre med det ";" hvordan kan jeg løse dette problemet?

Takk på forhånd,

IHulky

ps de andre linjene i dokumentet (linje 2 og videre) må kopieres i tillegg til den nye filen.
Legg slash
Code:
sed '/^PRIHDR/s/;9;;/;4;;/' <oldfile >newfile
mv newfile oldfile
Code:
perl -i -ne ' s/;9;;/;4;;/ if ( /^PRIHDR/ ); print ' file
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 05:38.


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