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, 4466 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (18)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Linux
gelöst Boot failed: not a bootable disk (10)

Frage von Fleckmen zum Thema Linux ...

Multimedia & Zubehör
gelöst Iphone 6 prob (8)

Frage von jensgebken zum Thema Multimedia & Zubehör ...

Windows 7
gelöst Windows 7 Umzug zum neuen PC (SATA-Problem) (7)

Frage von MaxMoritz6 zum Thema Windows 7 ...