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
Filen findes rutinemæssige kamathg Shell Programmering og Scripting 9 12-16-2008 04:56 AM
hvordan cp filer til dir, bruger rutinemæssige? wrapster Shell Programmering og Scripting 4 05-21-2008 11:41 PM
hvordan cp filer til dir, bruger rutinemæssige? wrapster UNIX for Advanced & Ekspertsøgning Brugere 1 05-21-2008 03:18 PM
sub rutine opkald sekar sundaram Shell Programmering og Scripting 2 11-10-2005 08:30 PM
Entry Points Rutinemæssig SPPrasad Højtstående Programmering 9 10-21-2002 12:34 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-21-2009
fwellers fwellers is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Location: Northern, VA
Stillinger: 23
awk rutinemæssige hjælpe

Hej,
Jeg bruger awk men ikke som et programmeringssprog. Bare generelt i piplelines at splitte ting ud af marker.
Jeg forsøger at opnå dette én ting, at jeg synes, en kort awk rutine ville gøre meget for, men kan ikke finde den.

Lad os sige jeg har en fil, der indeholder databasen kolonner. Filen ser sådan ud:
col1
col2
col3
..

Jeg ønsker awk at gå gennem denne fil og dreje hver linje i et array element, således at jeg kan gøre en printf erklæring, som vil indeholde alle de linjer i filen i en erklæring. Oversigten vil se nogenlunde sådan her:

printf ( "% s,% s,% s \ n", array [0], array [1], array [2])

Actually, I guess array elementer ville være variablized også.

Er det en simpel ting jeg kan få hjælp med?

Tak,
Floyd
  #2 (permalink)  
Old 04-21-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 5.805

Code:
tr -s '\n' ' ' < oldfile > newfile

  #3 (permalink)  
Old 04-21-2009
fwellers fwellers is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Location: Northern, VA
Stillinger: 23
That's pretty cool. tak. Det er ikke fuldt ud løse for mig selv.
Jeg skulle have nævnt, jeg har at tilføje til det, og tilføje kommaer.
Så jeg kan bruge tr kommando til at gå til newfile, så:
cat newfile | awk '(printf ( "mydata, moredata,% s,% s,% s \ n", $ 1, $ 2, $ 3))'

Men selv det er ikke en komplet løsning endnu, fordi hvordan vil scriptet vide, hvor mange felter er i filen, og være i stand til at beslutte, hvor mange elementer, der skal sættes på højre side af printf erklæring?

For fx, hvis filen havde 10 kolonner, at tr kommando forvandlet til en linje med 10 felter, hvordan vil jeg oprette et print erklæring, der vil vide, var der 10 felter, så jeg kan bruge dem?

Tak,
Floyd
  #4 (permalink)  
Old 04-21-2009
colemar colemar is offline
Registreret Bruger
  
 

Join Date: Apr 2009
Beliggenhed: Trento, Italien
Stillinger: 116
Kan du angive de krav i naturligt sprog?

Måske du vil gennemføre en kolonne af ukendt længde til en række, hvis elementer er adskilt af komma, og et fast antal yderligere elementer, der skal indsættes i rækken start.

Code:
colemar@deb:~$ cat inputfile 
one
two
three
four
five
colemar@deb:~$ echo red,blue,white,$(tr '\n' ',' < inputfile)
red,blue,white,one,two,three,four,five,

  #5 (permalink)  
Old 04-21-2009
fwellers fwellers is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Location: Northern, VA
Stillinger: 23
naturligt sprog? Undskyld jeg gjorde mit bedste for at kommunikere mine behov.

scriptet vil parse en fil, der har et ukendt antal linjer. Hver linje indeholder en kolonne navn. For f.eks file1 ser sådan her ud:
Fornavn
Efternavn
e-mail

...
Jeg vil have en hardcodede strengen eller to. sige, "token__a" og "audit_action__a"

Min endelige output fra parse denne fil vil se sådan ud:
..... indsætte i $ tabel ( token__a, audit_action__a, Fornavn, Efternavn, e-mail ) ....

Tak,
Floyd
  #6 (permalink)  
Old 04-21-2009
fwellers fwellers is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Location: Northern, VA
Stillinger: 23
Citat:
Oprindeligt Indsendt af colemar View Post
colemar @ deb: ~ $ cat inddatafilen
én
to
tre
fire
fem
colemar @ deb: ~ $ echo rød, blå, hvid, $ (tr '\ n', '<inddatafilen)
rød, blå, hvid, en, to, tre, fire, fem, [/ CODE]
Ok Colemar, jeg lige så denne seneste ændring, du gjorde. Den vil arbejde.
Tak!

Naturligvis du var i stand til at vade igennem min unatural sprog med henblik på at fastslå, hvad jeg blev bedt om. Good job :-)

Tak igen.

Floyd
  #7 (permalink)  
Old 04-21-2009
colemar colemar is offline
Registreret Bruger
  
 

Join Date: Apr 2009
Beliggenhed: Trento, Italien
Stillinger: 116
Citat:
Oprindeligt Indsendt af fwellers View Post
Naturligvis du var i stand til at vade igennem min unatural sprog med henblik på at fastslå, hvad jeg blev bedt om.
Jeg er naturligvis ikke ensbetydende med, at dit sprog var unaturligt, bare at du var til dels ved hjælp af kode, der tyder på, hvordan man kan løse problemet i stedet for at forklare problemet i et letforståeligt engelsk.
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 08:20 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