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, 2735 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

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

Frage von nobbi49 zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...