The UNIX and Linux Forums  


Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Konvertierung von Datums-Format mohan705 Shell Programmierung und Scripting 7 05-22-2008 12:10 PM
Umwandlung von Text in das CSV-Format gthokala Shell Programmierung und Scripting 13 06-09-2006 11:44 AM
Konvertieren von PDF in Text-, RTF-doc-Format saurya_s UNIX für Fortgeschrittene und Experten 1 04-23-2004 04:25 PM
Konvertieren von BMP zu BM (oder anderen Unix-Format) EJ \u003d) UNIX-Desktop für Dummies Fragen & Antworten 1 06-12-2002 09:42 AM
Konvertieren das Erstellungsdatum der Datei, um ein neues Format barney_clough UNIX for Dummies Questions & Answers 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 03-18-2008
zer0dvide zer0dvide is offline
Registrierte Nutzer
  
 

Join Date: März 2008
Beiträge: 3
Umwandlung Konfigurationsdatei in das CSV-Format

Hallo,

Für 2 Tagen habe ich der Suche nach einer Lösung für dieses. Ich bin nun, daran zu zweifeln ist sogar möglich. Es ist noch schwieriger, wenn Sie nicht wissen, wie die Suche nach ihr. (welche Keywords genügend Relevanz etc..)

Ich muss analysieren, eine Konfigurations-Datei, um eine CSV-Datei zurück.
Es wäre notwendig, diese Parameter aus der Datei:

define host (

host_name Hosta
Eltern hostNull
)
--
define host (

host_name hostB
Eltern Hosta
)
--
define host (

host_name hostC
Eltern hostB
)
--

und erstellen Sie diese:

Host-, Stamm -
Hosta, hostNull
hostB, Hosta
hostC, hostB

Kennt jemand eine Lösung für dieses oder kann mir jemand Punkt aus bis zu einem gewissen doc, in dem erläutert wird, wie?
  #2 (permalink)  
Old 03-18-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Join Date: Dezember 2007
Ort: Haus der 17-Weltmeister Boston Celtics
Beiträge: 1311
Wink Ein Ansatz, zu versuchen ...

Von dem, was Ihnen zur Verfügung gestellten Informationen, ist dies ein Ansatz.

Zitat:
> Cat Probe
define host (

host_name Hosta
Eltern hostNull
)
--
define host (

host_name hostB
Eltern Hosta
)
--
define host (

host_name hostC
Eltern 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

Zitat:
> Cat host.csv
Host-, Stamm -
Hosta, hostNull
hostB, Hosta
hostC, hostB
  #3 (permalink)  
Old 03-18-2008
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Posts: 4330
Ein anderer Ansatz:


Code:
awk ' 
BEGIN{print "host,parent"}
/host_name/{p=$2;getline;print p","$2}
' sample

Grüße
  #4 (permalink)  
Old 03-18-2008
ShawnMilo ShawnMilo is offline
Registrierte Nutzer
  
 

Join Date: Jun 2006
Beiträge: 252
Ein 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. Drucken Sie die Header der ersten Zeile der Eingabe.

2. Drucken Sie die Host-Namen, wenn sie (ohne Zeilenumbruch)

3. Drucken Sie das Komma, Eltern, und Eltern, wenn ein Zeilenumbruch ist.

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

Join Date: Jun 2007
Ort: Peking, China
Posts: 1089

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
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 11
Umwandlung Konfigurationsdatei in das CSV-Format

awk '
BEGIN (print "Host, Eltern")
/ host_name / (printf "% s", $ NF; getline; print $ NF)
'$ INFILE

-Ramesh
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 04:19 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0