Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Zeile 100 an Zeile 1 anfügen,...

Frage Entwicklung Perl

Mitglied: mete-eve

mete-eve (Level 1) - Jetzt verbinden

16.10.2008, aktualisiert 21.10.2008, 4479 Aufrufe, 3 Kommentare

Hallo Leute,
ich bin gerade in der Abteilung Netzwerk in meiner Ausbildung.
Ich komme leider gerade beim Programmieren in Perl nicht weiter.

Ich habe den Befehl esxtop (ESX Server) in eine Datei geschrieben.
Das blöde an dieser Sache ist nur:
Mein Dokument hat 3575 Zeilen.
Die hälfte davon ist die Bezeichnung die andere die Werte dazu.

Network Port
Memory
.
.
.
(leerzeile)
"0.25"
"100"
.
.
.

Ich habe die Zeilennummern.
Nun möchte ich die Zeile 1789 an Zeile 1 anfügen (Network Port = "0.25")
und dann 1790 an Zeile 2, usw.

Die Daten stehen in $output.

Kann mir jemand einen Tipp geben.
Bin über jede hilfe dankbar.
Mitglied: mete-eve
16.10.2008 um 11:43 Uhr
Ich habe jetz es so versucht:

open (in,"<$filename") || die $!;
while (<in>)
{
if ($. eq $anzahl_wert)
{
  1. schreibe Wert nach Bezeichung

#while (<in>)
#{
  1. if ($. eq $anzahl_bez)
  2. {
  3. print $_;
  4. }
#}
print $_;
last;
}
}
Mein Problem ist jetzt, ich habe den Wert zwar muss ihn aber noch Bezeichnung schreiben.
Das mit der while-Schleife in der Schleife funktioniert nicht.

Hat jemand eine Idee?
Bitte warten ..
Mitglied: dog
16.10.2008 um 16:24 Uhr
Hallo,

ich kann dir nur die Lösung für Arme-Leute-Perl (PHP) sagen (ungetestet):
01.
<?php 
02.
 
03.
	$fileArray = file('---'); //Liest jede Zeile in ein Array 
04.
	 
05.
	foreach ($fileArray as $lineNum => $line) { 
06.
		if(trim($line) == '') { 
07.
			$splitterLine = $lineNum
08.
			break
09.
10.
11.
	 
12.
	$keys = array_slice($fileArray,0,$splitterLine-1); //Ein Array nur mit den Keys 
13.
	$values = array_slice($fileArray,$splitterLine+1); //Ein Array mit den Werten 
14.
	 
15.
	$data = array(); 
16.
	for ($i=0; $i < count($keys); $i++) {  
17.
		$data[trim($keys[$i])] = trim($values[$i]); 
18.
19.
 
20.
?>
Vielleicht bringt dich das ja auf eine Idee
Bitte warten ..
Mitglied: mete-eve
21.10.2008 um 11:27 Uhr
Meine Lösung:

foreach (@Lines)
{
          1. Bezeichung 1-1787
          if ($zahl eq $Zeile_bez && $zahl < $Zeile_max_bez)
          {
          push(@bez, $_);

          $Zeile_bez++;
          }

                  1. Wert 1789-3575
                  if ($zahl eq $Zeile_wert && $zahl < $anzahl)
                  {
                                  1. Gewuenschte Struktur in Datei schreiben
                                  open (ESXTOP,">>$check_esxtop") || die $!;

                                  $bez[$zeile] =~ s/\n//g;
                                  print ESXTOP $bez[$zeile];
                                  print ESXTOP " = ";
                                  print ESXTOP $_;

                                  close(ESXTOP);

                                  $zeile++;
                                  $Zeile_wert++;
                                  }
                                  $zahl++;
                                  }
Bitte warten ..
Ähnliche Inhalte
Windows 7
Temporäre Dateien im Profilordner belegen mehrere 100 GB (6)

Frage von sirhc4022 zum Thema Windows 7 ...

DSL, VDSL
Fritzbox 6490 Cable mit Ip Adressenbereich 192.168.100 (5)

Frage von battledroid zum Thema DSL, VDSL ...

Video & Streaming
Empfehlung Outdoor Kamera für 100 Meter (7)

Frage von Huibuh2010 zum Thema Video & Streaming ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Exchange Server
Exchange Postfach leeren - nicht löschen (11)

Frage von AndreasOC zum Thema Exchange Server ...

SAN, NAS, DAS
+100tb Storagelösung (11)

Frage von Data-Fabi zum Thema SAN, NAS, DAS ...

LAN, WAN, Wireless
Cisco W-Lan Controller als Applicance oder Software (11)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...