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

Ersetzung bringt fehler. Use of uninitialized value in substitution

Frage Entwicklung Perl

Mitglied: Syraneus

Syraneus (Level 1) - Jetzt verbinden

05.05.2011 um 16:00 Uhr, 3927 Aufrufe, 3 Kommentare

Hallo, ich habe folgendes Problem. Ich habe eine Datei die ich formatieren muss. Dort sind die ganzen Zeilenumbrüche verschwunden. (Durch einen Admin der mir das so geschickt hat)
Jedenfalls möchte ich nur gerne in diese irre lange zeile mehrere Zeilenumbrüche einfügen. Jedoch meckert Perl immer wieder. Und ich hab schon verschiedene Sachen ausprobiert, aber ich komm leider nicht weiter. Deswegen frag ich nun hier um Hilfe.

Mein Script:

$zeile = $_;
$i = 1;
while ($i <100000)
{
$i++;
$zeile =~ s/\sVerzeichnis\svon/\nVerzeichnis\svon/;
print $i;
}


Hier ein Auschnitt aus der Datei die ich bekommen habe.

Verzeichnis von Z:\vol\servertruppe\ARCHIV\Emailarchivierung\IXOS\Software\IXOS 5.5 CDs\CD_eCONserver 5.5D W2k\WIN32\program files\IXOS\IXOS-eCON\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\adm\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dbapp\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpapp\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpdl\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpdms\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dppms\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpsap\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Opentext_IXOS\FSA\INST\LL_FSA_9.6.0\fsa\WIN32\program files\IXOS\opt\PERL\lib\MSWin32-x86-multi-thread\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Opentext_IXOS\FSA\PATCH\FA096-010\dist\fsa\WIN32\program files\IXOS\opt\PERL\lib\MSWin32-x86-multi-thread\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Emailarchivierung\IXOS\Software\IXOS 5.5 CDs\CD_eCONserver 5.5D W2k\WIN32\program files\IXOS\IXOS-eCON\opt\PERL\lib\MSWin32-x86\auto\B

Das hätte ich gerne so formatiert das immer
"Verzeichnis von" am Anfang steht. Also der er jeweils vor "Verzeichnis von" einen Zeilenumbruch einfügt.

Sowas müsste doch auch mit einem Einzeiler funktionieren. Jedoch wie bekomm ich es hin das er die Ersetzung überhaupt durchführt und das er nicht nur 1 Ersetzungen macht, sonder so oft ersetzt wie es halt in der Datei vorkommt.

Hoffe mir kann jemand Helfen.

Vielen Dank

DerChirurg
Mitglied: dog
05.05.2011 um 16:15 Uhr
01.
my $in = 'Verzeichnis von Z:\vol\servertruppe\ARCHIV\Emailarchivierung\IXOS\Software\IXOS 5.5 CDs\CD_eCONserver 5.5D W2k\WIN32\program files\IXOS\IXOS-eCON\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\adm\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dbapp\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpapp\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpdl\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpdms\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dppms\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpsap\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Opentext_IXOS\FSA\INST\LL_FSA_9.6.0\fsa\WIN32\program files\IXOS\opt\PERL\lib\MSWin32-x86-multi-thread\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Opentext_IXOS\FSA\PATCH\FA096-010\dist\fsa\WIN32\program files\IXOS\opt\PERL\lib\MSWin32-x86-multi-thread\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Emailarchivierung\IXOS\Software\IXOS 5.5 CDs\CD_eCONserver 5.5D W2k\WIN32\program files\IXOS\IXOS-eCON\opt\PERL\lib\MSWin32-x86\auto\B '; 
02.
 
03.
$in =~ s/Verzeichnis von/\nVerzeichnis von/g; 
04.
 
05.
print $in;
Bitte warten ..
Mitglied: TsukiSan
05.05.2011 um 16:22 Uhr
Hallo DerChirurg,

bin zwar kein Perl-Kenner, aber falls dein Bekannter erst mal glücklich mit einem VBS-4-Zeiler sein könnte, dann dieser hier:
01.
Set FSO = CreateObject("Scripting.FileSystemObject") 
02.
MyOne = FSO.OpenTextFile("C:\OhneUmbruch.txt", 1).ReadAll 
03.
MyOneNew = Replace (MyOne, "Verzeichnis von" , vbcrlf & "Verzeichnis von") 
04.
MyOneNew1 = FSO.CreateTextFile("C:\MitUmbruch.txt", True).Write (MyOneNew)
Eventuell kannst du das VBS-Schnipsel ja nach Perl exportieren.

Gruss
Tsuki

Ps.: das geht auch als Einzeiler, aber vielleicht möchte es jemand ja auch verstehen
Bitte warten ..
Mitglied: Syraneus
09.05.2011 um 11:09 Uhr
Hallo,

habe es gerade versucht. Es hat funktioniert. Es musste die Variable wirklich nur definiert werden. mit My. Ich hab dann doch nen Einzeiler draus gemacht. Der Funktioniert hat. Hier für zukünftige Anfragen, falls es jemanden interessiert.

perl -lne "$zeile = $_; $zeile =~ s/Verzeichnis von/\nVerzeichnis von/g; print $zeile" "D:\19.txt"

Mit freundlichen Grüßen DerChirurg
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Server
gelöst Skype for Business 2015 Server - Topologie Veröffentlichen bringt Fehler (3)

Frage von oce zum Thema Windows Server ...

Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...