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, 2747 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 ..
Ähnliche Inhalte
Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

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

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (35)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...

RedHat, CentOS, Fedora
Fedora, RedHat, Centos: DNS-Search Domain setzen (13)

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