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

Batch-Nach bestimmtem Muster suchen und Eintrag dupliziern

Frage Entwicklung Batch & Shell

Mitglied: Tester1254

Tester1254 (Level 1) - Jetzt verbinden

06.06.2008, aktualisiert 14:47 Uhr, 2739 Aufrufe, 1 Kommentar

Ich habe eine Datei mit vielen Zeilen, ein paar Beispielzeilen sehr ihr hier:

4;12;10000;LV;01.11.2001;30.12.2010;20
4;18;10000;LV;01.11.2001;30.12.2010;0
4;24;10000;LV;01.11.2001;30.12.2010;0
3;30;10000;LV;01.11.2001;30.12.2010;0
4;36;10000;LV;01.11.2001;30.12.2010;0
4;42;10000;LV;01.11.2001;30.12.2010;0
5;48;10000;LV;01.11.2001;30.12.2010;0
4;54;10000;LV;01.11.2001;30.12.2010;0
4;60;10000;LV;01.11.2001;30.12.2010;0
4;12;15000;LV;01.11.2001;30.12.2010;26
4;18;15000;LV;01.11.2001;30.12.2010;19
8;24;15000;LV;01.11.2001;30.12.2010;0
4;30;15000;LV;01.11.2001;30.12.2010;0
4;36;15000;LV;01.11.2001;30.12.2010;0
4;42;15000;LV;01.11.2001;30.12.2010;0
4;48;15000;LV;01.11.2001;30.12.2010;0

Ich möchte nun, dass für jeden Zeile, wo nach dem ersten ";" eine 12 steht, eine zusätzliche Zeile eingefügt wird, die exakt gleich ist, nur das aus der 12 eine 6 wird. Das Ergebnis würde dann so aussehen:

4;6;10000;LV;01.11.2001;30.12.2010;20
4;12;10000;LV;01.11.2001;30.12.2010;20
4;18;10000;LV;01.11.2001;30.12.2010;0
4;24;10000;LV;01.11.2001;30.12.2010;0
3;30;10000;LV;01.11.2001;30.12.2010;0
4;36;10000;LV;01.11.2001;30.12.2010;0
4;42;10000;LV;01.11.2001;30.12.2010;0
5;48;10000;LV;01.11.2001;30.12.2010;0
4;54;10000;LV;01.11.2001;30.12.2010;0
4;60;10000;LV;01.11.2001;30.12.2010;0
4;6;15000;LV;01.11.2001;30.12.2010;26
4;12;15000;LV;01.11.2001;30.12.2010;26
4;18;15000;LV;01.11.2001;30.12.2010;19
8;24;15000;LV;01.11.2001;30.12.2010;0
4;30;15000;LV;01.11.2001;30.12.2010;0
4;36;15000;LV;01.11.2001;30.12.2010;0
4;42;15000;LV;01.11.2001;30.12.2010;0
4;48;15000;LV;01.11.2001;30.12.2010;0

Die Reihenfolge der Zeilen ist hierbei völlig egal. Wer kann mir hier bitte helfen? Ich habe leider keine Ahnung wie das funktioneiren könnte...


Irgendwie tut das Antowrten bei mir nicht. Aber die Antwort von tacker ist super, vielen Dank.
Mitglied: tacker
06.06.2008 um 14:47 Uhr
salü tster

wenn's auch ein VBScript sein darf, hier ein vorschlag!

01.
dim fso 
02.
set fso = createobject("scripting.filesystemobject") 
03.
 
04.
set openfile = fso.opentextfile("input.txt", 1) 
05.
set writefile = fso.createtextfile("output.txt") 
06.
 
07.
do until openfile.AtEndOfStream 
08.
    arr = split(openfile.readline(), ";") 
09.
    if(arr(1) = "12") then 
10.
        writefile.writeline(arr(0) & ";6;" & arr(2) & ";" & arr(3) & ";" & arr(4) & ";" & arr(5) & ";" & arr(6)) 
11.
    end if 
12.
    writefile.writeline(arr(0) & ";" & arr(1) & ";" & arr(2) & ";" & arr(3) & ";" & arr(4) & ";" & arr(5) & ";" & arr(6)) 
13.
loop 
14.
 
15.
openfile.close 
16.
writefile.close 
17.
fso = null
müsstest einfach noch input.txt an deine gegebenheiten anpassen! dabei wird die alte datei belassen und eine neue erstellt!

gruss tacker
Bitte warten ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Batch & Shell
gelöst Per Batch Konfliktdateien in Dropbox suchen (4)

Frage von nobbi49 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (17)

Frage von Driphex zum Thema Exchange Server ...

Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...