The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

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
converting datoformat mohan705 Shell Programmering og Scripting 7 05-22-2008 12:10 PM
konvertere tekst til csv-format gthokala Shell Programmering og Scripting 13 06-09-2006 11:44 AM
konvertere PDF til tekst, rtf doc-format saurya_s UNIX for Advanced & Ekspertsøgning Brugere 1 04-23-2004 04:25 PM
Konvertere BMP til BM (eller andre unix-format) EJ \u003d) UNIX Desktop til dukkerne Spørgsmål & svar 1 06-12-2002 09:42 AM
Konvertere Filer Oprettelsesdato til et nyt format barney_clough UNIX for dummyer Spørgsmål & svar 1 06-12-2002 08:43 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 03-18-2008
zer0dvide zer0dvide is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Stillinger: 3
converting konfigurationsfil til csv-format

Hej,

For 2 dage nu, jeg har været at finde en løsning på dette. Jeg er nu begyndt at tvivle det er endda muligt. Det er endnu sværere, når du ikke ved, hvordan de skal søge efter det. (hvilke søgeord der genererer nok relevansfaktorer mv.)

Jeg er nødt til at parse en konfigurationsfil til at generere en csv-fil til gengæld.
Det vil være nødvendigt at tage disse parametre ud af filen:

define vært (

host_name Hosta
forældre hostNull
)
--
define vært (

host_name hostB
forældre Hosta
)
--
define vært (

host_name hostC
forældre hostB
)
--

og skabe dette:

vært, moderselskab
Hosta, hostNull
hostB, Hosta
hostC, hostB

Er der nogen kender en løsning på dette eller kan nogen punkt mig ud til nogle doc, der forklarer, hvordan?
  #2 (permalink)  
Old 03-18-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Join Date: Dec 2007
Location: Home af 17-tiden verdensmester Boston Celtics
Stillinger: 1311
Wink En metode til at prøve ...

Fra hvad info du har opgivet, er dette en løsning.

Citat:
> Cat prøve
define vært (

host_name Hosta
forældre hostNull
)
--
define vært (

host_name hostB
forældre Hosta
)
--
define vært (

host_name hostC
forældre hostB
)
Code:
> cat bld_csv 
#! /bin/bash

echo "host,parent" >host.csv
while read zf
  do
  hck=$(echo "$zf" | cut -d" " -f1)
  if [ "$hck" = "host_name" ]
    then
    hnm=$(echo "$zf" | cut -d" " -f2)           
  fi
  if [ "$hck" = "parents" ]
    then
    pnm=$(echo "$zf" | cut -d" " -f2)
    echo $hnm","$pnm >>host.csv
  fi

done < sample
Citat:
> Cat host.csv
vært, moderselskab
Hosta, hostNull
hostB, Hosta
hostC, hostB
  #3 (permalink)  
Old 03-18-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Indlæg: 4.312
En anden tilgang:

Code:
awk ' 
BEGIN{print "host,parent"}
/host_name/{p=$2;getline;print p","$2}
' sample
Hilsen
  #4 (permalink)  
Old 03-18-2008
ShawnMilo ShawnMilo is offline
Registreret Bruger
  
 

Join Date: Jun 2006
Stillinger: 252
En Perl One-Liner

Code:
$ cat temp.txt | perl -ne 'chomp; print "host,parent\n" if $. == 1; print $_ if $_ =~ s/^host_name\s+(.*)$/$1/;  print ",$_\n" if $_ =~ s/^parents\s+(.*)$/$1/;'

host,parent
hostA,hostNull
hostB,hostA
hostC,hostB
1. Udskriv overskrifter på første linje i input.

2. Udskriv værtsnavnet hvis det findes (ingen newline)

3. Udskriv komma, moderselskabet navn, og newline når moderselskabet er fundet.

ShawnMilo
  #5 (permalink)  
Old 03-18-2008
summer_cherry summer_cherry is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Jun 2007
Location: Beijing Kina
Indlæg: 1.088
Code:
nawk 'BEGIN{RS="--";n=1;host[n]=sprintf("host,parent")}
{
n=n+1
host[n]=sprintf("%s,%s",$4,$6)
}
END{
for(i=1;i<=n;i++)
if(host[i]!=",")
print host[i]
}
' filename
  #6 (permalink)  
Old 03-19-2008
faltooweb faltooweb is offline
Registreret Bruger
  
 

Join Date: Jan 2008
Stillinger: 11
converting konfigurationsfil til csv-format

awk '
BEGIN (print "værten moderselskab")
/ host_name / (printf "% s", $ NF; getline; print $ NF)
'$ INFILE

-Ramesh
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 07:10 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