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

Strichpunkt gegen CR-Linefeed in Textdatei ersetzen

Frage Entwicklung Batch & Shell

Mitglied: pbelcl

pbelcl (Level 1) - Jetzt verbinden

10.11.2013 um 16:43 Uhr, 2104 Aufrufe, 9 Kommentare, 1 Danke

Hi Leute,

Ich habe eine TExtdatei, die von einem System automatisch erzeugt wird.
Dort stehen Emailadressen in einer langen Wurst drinnen, die immer durch ein Semikolon (;) getrennt sind.

01.
email1@domain.com;email2@domain.com;email3@domain.com;email4@domain.com;email5@domain.com;email6@domain.com;
Ich muss nun dafür sorgen, dass JEDE Adresse in einer Zeile steht und die Semikolons verschwinden

01.
email1@domain.com 
02.
email2@domain.com 
03.
email3@domain.com 
04.
email4@domain.com 
05.
email5@domain.com 
06.
email6@domain.com
Speziell das Ersetzen ist für mich schwierig, da ich die Zeichencodes vom Zeilenumbruch nicht kenne ....
Habt ihr einen Tipp oder ein Codeschnipsel, wie ich das mit einer Batchdatei schaffe?
Mitglied: certifiedit.net
10.11.2013 um 18:24 Uhr
Hallo,

probier es mal mit \n ;)

Beste Grüße,

Christian
Bitte warten ..
Mitglied: bastla
10.11.2013 um 20:33 Uhr
Hallo pbelcl!

Aufgrund der Einschränkungen von Batch würde ich zu VBS raten:
01.
Ein = "D:\Textdatei.txt" 
02.
Aus = "D:\Adressen.txt" 
03.
 
04.
Set fso = CreateObject("Scripting.FileSystemObject") 
05.
fso.CreateTextFile(Aus).Write Replace(fso.OpenTextFile(Ein).ReadAll, ";", vbNewline)
Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
10.11.2013, aktualisiert um 21:08 Uhr
Hallo Bastla,

An diesen Einschränkungen scheitere ich offensichtlich seit Stunden...
Irgendwas mit der Übergabe des "\n" an den Ausgabestring hat sich massiv gewehrt
Egal!

Habs gerade erfolgreich mit deinem VBS-Code zum laufen gebracht, ist wirklich super!!
Danke für die schnelle Hilfe!!
Bitte warten ..
Mitglied: Endoro
10.11.2013 um 22:20 Uhr
Hi, die Einschränkungen kann ich grad nicht sehen
01.
(for %%a in (email1@domain.com;email2@domain.com;email3@domain.com;email4@domain.com;email5@domain.com;email6@domain.com;) do @echo %%a)>file.txt
lg.
Bitte warten ..
Mitglied: bastla
10.11.2013 um 22:25 Uhr
@ Endoro
... dann schau mal bei MS vorbei ...

Grüße
bastla
Bitte warten ..
Mitglied: colinardo
11.11.2013, aktualisiert um 11:43 Uhr
Hallo pbelcl,
könntest du z.B. so machen:
01.
@echo off & setlocal 
02.
set fileIN=test.txt 
03.
set fileOUT=test2.txt 
04.
for /f "usebackq delims=" %%a IN ("%fileIN%") DO @( 
05.
  for %%b IN (%%a) DO @(echo %%b>>"%fileOUT%") 
06.
)
Hier bist du aber wie @bastla schon erwähnt hat, eingeschränkt was die maximale Länge einer Zeile angeht (8.191 Zeichen) .
Mit der Powershell könntest du es so ohne Beschränkung machen:
01.
Get-Content "E:\dateiIN.txt" | %{$_.Replace(";","`r`n")} | Set-Content "E:\dateiOUT.txt"
Grüße Uwe
Bitte warten ..
Mitglied: Endoro
11.11.2013 um 11:33 Uhr
Hi,
sed for Windows benötigt double quotes (Zollzeichen), hier in colinardo's Beispiel gehts aber ganz ohne: sed s/;/\n/g file.txt, der 'beste' sed-Befehl ist sed y/;/\n/ file.txt, am allerbesten ist aber der 'Unix'-Befehl <file.txt tr ; \n
lg.
Bitte warten ..
Mitglied: pbelcl
11.11.2013 um 19:47 Uhr
Hallo Ihr Lieben,

Toll wieviele Vorschläge ich von euch bekomme!!
Gebt mir ein bisschen Zeit, ich werde mir das alles ansehen!

Danke vorerst mal für die vielen Tipps!
Bitte warten ..
Mitglied: pbelcl
12.11.2013 um 16:45 Uhr
Habe mir die unterschiedlichen Vorschläge angesehen und entschieden dass ich die VBS Variante nehme.
Einfacher Grund:
Mein Testfile hat schon 1890 Zeichen!
Wird im Echtbetrieb möglicherweise über die 8000er Grenze kommen, somit bleib ich sicherheitshalber bei der VBS Variante von bastla!
Obwohl ich normalerweise "plain Batch" immer bevorzuge

Da ich sehr selten solche Lösungen brauche, ist mein Wissen dahingehend immer etwas eingetrocknet!
Deshalb bin ich bin echt dankbar dass es euch gibt!!
Danke an alle die sich für meine Lösung den Kopf zerbrochen haben ....
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

Windows Server
Windows 2003 Domäne durch 2016er ersetzen (3)

Frage von Cenion zum Thema Windows Server ...

Batch & Shell
Spoiler in textdatei automatisch über Powershellscript einfügen (5)

Frage von Dr.Byte zum Thema Batch & Shell ...

Batch & Shell
gelöst Textdatei auf den Standarddrucker drucken (3)

Frage von pdiddo zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

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

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (15)

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

Microsoft Office
Saubere HTML aus Word-Dokument (13)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...

Microsoft
gelöst Subnetting: In welchem Subnetz befindet sich die IP? (12)

Frage von winler zum Thema Microsoft ...