Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
Google Site



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.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 02-21-2008
Registrert bruker
 

Bli Date: Feb 2008
Innlegg: 6
Hvordan endre en bestemt karakter i en fil

Hei,

Jeg har en data-fil med følgende struktur:

a | b | c | d | 3 | f1 | f2 | f3
a | b | c | d | 5 | f1 | f2 | f3 | f4 | f5

Jeg vil endre disse dataene til å:

a | b | c | d | 3 | f1, f2, f3
a | b | c | d | 5 | f1, f2, f3, f4, f5

Data i kolonne 5 forteller antallet følgende felt. Alle felt skilletegn etter den 5. kolonnen må endres til ";"

Behage hjelpe hvordan kan dette gjøres på ethvert skriptspråk sed, Awk eller perl?

Hilsen

Sandeep
Sponsede lenker
  #2 (permalink)  
Old 02-21-2008
Registrert bruker
 

Bli Dato: Oct 2007
Innlegg: 90
Fil
\u003d\u003d
a | b | c | d | 3 | f1 | f2 | f3
a | b | c | d | 5 | f1 | f2 | f3 | f4 | f5
Sitat:
sed-e "s / | f /; f / g"-e "s /; f1 / | f1 / g" file
  #3 (permalink)  
Old 02-21-2008
...@...
 

Bli Date: Feb 2004
Beliggenhet: NM
Innlegg: 6105

Code:
awk -F'|' ' {OFS="|";
             six="";
             for(i=6;i<=NF;i++)
                { six=six $i ";" }
             print $1,$2,$3,$4,$5,six
           }' filename

input og output:
Sitat:
/ home / jmcnama> cat filnavn
a | b | c | d | 3 | f1 | f2 | f3
a | b | c | d | 5 | f1 | f2 | f3 | f4 | f5
/ home / jmcnama> t.sh
a | b | c | d | 3 | f1, f2, f3;
a | b | c | d | 5 | f1, f2, f3, f4, f5;
  #4 (permalink)  
Old 02-21-2008
Registrert bruker
 

Bli Date: Feb 2008
Innlegg: 6
Takk Jim. Det hjalp meg å komme i gang. Bare én followup: Hvis filen er slik:

a | b | c | d | 3 | f;, 1; | f2,, 0; | f3,, 1;
a | b | c | d | 5 | m;, 1; | x;, 1; | f3,, 0; | f4,, 1; | f5,, 1;

hvordan kan jeg endre til

a | b | c | d | 3 | f; f2, f3;
a | b | c | d | 5 | m; x, f3, f4, f5;

Basically Jeg må starte fra 6te kolonne til slutten av linjen, slette "; 1; |" eller "; 0; |"

Takk for din hjelp.

Hilsen

Sandeep
  #5 (permalink)  
Old 02-21-2008
sb008 sb008 is offline Forum Advisor  
Registrert bruker
 

Bli Date: Jan 2007
Innlegg: 384

Code:
sed -e "s/;[^|][^|]*//g" -e "s/|/;/g" -e "s/\([^;]*\);\([^;]*\);\([^;]*\);\([^;]*\);\([^;]*\);/\1|\2|\3|\4|\5|/" <file>


Sist endret av sb008; 02-21-2008 kl 04:48..
  #6 (permalink)  
Old 02-21-2008
Registrert bruker
 

Bli Date: Feb 2008
Innlegg: 3
En kortere en:


Code:
sed -e 's/;[0-9].//g' -e 's/;|/;/g'

Skål
  #7 (permalink)  
Old 02-22-2008
sb008 sb008 is offline Forum Advisor  
Registrert bruker
 

Bli Date: Jan 2007
Innlegg: 384
Sitat:
Originally Posted by hanny View Post
En kortere en:


Code:
sed -e 's/;[0-9].//g' -e 's/;|/;/g'

Skål
Komplimenter, smart bruk av dobbel ";"
Sponsede lenker
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 Av


Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Escaping spesifikke tegn i awk brainyoung Shell programmering og Skripting 8 12-16-2008 11:14
Slik pakker du ut første kolonnen med en bestemt bokstav selamba_warrior Shell programmering og Skripting 3 05-22-2008 06:14
telle forekomster av spesielle tegn i filen superprogrammer HP-UX 9 04-09-2008 12:05
erstatte tegn i en streng mønsteret og lagre endringen i samme fil mihir0011 Shell programmering og Skripting 2 09-26-2007 06:31
Hvordan legge til tegn i bestemte plasseringen av en streng? victorlung Shell programmering og Skripting 5 09-01-2006 11:33



Alle klokkeslett er GMT -4. Nå er klokken 01:40.


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-2010. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0