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, 4476 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
E-Mail
Exchange Mailinfrastruktur für 100 Mailboxen (10)

Frage von staybb zum Thema E-Mail ...

Batch & Shell
gelöst Bat soll in einer .dll eine Zeile suchen und Diese + 2 darunterliegende anzeigen (10)

Frage von Gangster137910 zum Thema Batch & Shell ...

VB for Applications
gelöst VbScript: ADODB.Stream: Neue Zeile einfügen (2)

Frage von BirdyB zum Thema VB for Applications ...

Windows Server
gelöst Windows 2012 R2 Server CPU 100 Prozent Auslastung (4)

Frage von Sindax zum Thema Windows Server ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(11)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

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

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...