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, 3944 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"

mfg DerChirurg
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

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

Frage von oce zum Thema Windows Server ...

Drucker und Scanner
Laserjet 3600N Fehler PCL Error (1)

Frage von grillinator95 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (23)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (19)

Frage von smartino zum Thema Mac OS X ...

Hardware
gelöst PCI-Express-Adapterfrage (14)

Frage von DerWoWusste zum Thema Hardware ...

Linux Netzwerk
DHCP IP-vergabe erst nach 1-2 Minuten (11)

Frage von Maik82 zum Thema Linux Netzwerk ...