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

Skript oder ähnliches um Werte in Textdatei zu ändern

Frage Entwicklung

Mitglied: anding

anding (Level 2) - Jetzt verbinden

30.12.2008, aktualisiert 08:08 Uhr, 4591 Aufrufe, 8 Kommentare

Hallo,

hab mir schon was zusammengegoogelt, doch ich komm nicht weiter.

Es wird jeden Tag von einem Programm eine Textdatei erstellt. Die heißt immer gleich, ist immer am selben Ort.
Leider sind auch jeden Tag die falschen Werte (sechs Stück an der Zahl drin).
Ich würde gern per Skript oder Batch oder wie auch immer die Werte austauschen. Die Datei soll/muss wieder so heißen wie vorher. Ich schaffe es, einen Wert zu ändern, doch mehrere krieg ich nicht hin.

Danke schon mal,
anding
Mitglied: Cubic83
30.12.2008 um 09:06 Uhr
Hallo,

welches Betriebssystem? (Windows XP?).

Kannst Du mal ein paar Zeilen aus der Datei hinschreiben. Dann kann man sich eher was vorstellen.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: anding
30.12.2008 um 09:45 Uhr
OS ist Windows XP

Problem ist, dass auch noch Sonderzeichen in der Datei sind...
So sieht die Datei aus:
01.
0|O|4|29.12.2008|15:25:47|0||| 
02.
1|160000|1||FSW44032||29.12.2008|29.12.2008|1||44032|0|||287,50|SG33-143-4 : test|EUR|29.01.2009|||0||||||||||||||||||||||||||||| 
03.
2|540000|1||FSW44032|0|131316|0|||-99,20|SG35-143-4  : test|3300|33122421||||||||||||||||||||||| 
04.
2|550000|1||FSW44032|0|798231|0|||-880,00|SG35-143-4  : test|3300|33122421||||||||||||||||||||||| 
05.
2|560000|1||FSW44032|0|798341|0|||-111,00|SG35-143-4  : test|3300|33122421||||||||||||||||||||||| 
06.
2|570000|1||FSW44032|0|798371|0|||-55,30|SG35-143-4  : 
Bitte warten ..
Mitglied: pitti08
30.12.2008 um 11:11 Uhr
Hallo Anding,
die Problemdefinition ist ja fast brauchbar...
Verrätst Du uns noch, nach welcher Regel soll welcher Wert ersetzt werden?

http://www.administrator.de/index.php?faq=19
Bitte warten ..
Mitglied: anding
30.12.2008 um 11:15 Uhr
131316 in 4131316
798231 in x798231
usw.
Es sind immer die gleichen Werte, die immer mit dem gleichen ersetzt werden sollen...
Bitte warten ..
Mitglied: pitti08
30.12.2008 um 11:54 Uhr
Ich war im Raten noch nie gut. Ist bestimmt mein Fehler, daß ich die Anweisung zur Änderung der Werte nicht aus zwei hingerotzten Beispielen entnehmen kann. Was zur Hölle macht das x im zweiten Beispiel?

- Beim ersten wird aus 1 eine 4
- Beim zweiten aus nix ein x
- Bein dritten dann aus x ein u?

*verwirrt bin ich, junger Anwender*

http://www.tty1.net/smart-questions_de.html#explicit
Bitte warten ..
Mitglied: anding
30.12.2008 um 13:37 Uhr
Zitat von pitti08:
Ich war im Raten noch nie gut. Ist bestimmt mein Fehler, daß ich
die Anweisung zur Änderung der Werte nicht aus zwei hingerotzten
Beispielen entnehmen kann. Was zur Hölle macht das x im zweiten
Beispiel?

Deine herablassende Art kannst du dir sparen, ansonsten kann ich auf deine Hilfe verzichten. Es gibt genug fähige Leute im Forum, die Wissen, wie man sich hier im Forum ausdrückt...

- Beim ersten wird aus 1 eine 4
??? Da wird eine 4 vorangestellt... Also auch aus "nix" eine 4, wenn du so willst.


Der Wert 131316 soll in den Wert 4131316 abgeändert werden.
Der Wert 798231 soll in den Wert x798231 abgeändert werden, wobei "x" für eine
beliebige Zahl zwischen 0-9.
Es sind immer die selben sechs Werte die in der Textdatei stehen. Und sie sollen jeden Tag gleich abgeändert werden.
Bitte warten ..
Mitglied: pitti08
30.12.2008 um 14:09 Uhr
Deine herablassende Art kannst du dir sparen, ansonsten kann ich auf
deine Hilfe verzichten. Es gibt genug fähige Leute im Forum, die
Wissen, wie man sich hier im Forum ausdrückt...
Ich denke auch, dass dieses Forum sehr viele Fachleute lesen. Danke, daß Sie meine Kompetenz oder Umgangsformen in Zweifel ziehen.
Die überspitzte Formulierung sollte Ihnen das Problem der unzureichenden Problemdefinition vor Augen führen.
Aber an
Der Wert 798231 soll in den Wert x798231 abgeändert werden,
wobei "x" für eine
beliebige Zahl zwischen 0-9.
sehe ich, dass da ein Zufallszahlengenerator verwendet werden soll.

Mittels des Programmes sed können Sie die entsprechende Datei ändern. Nähere Details entnehmen Sie bitte der Dokumentation des Programmes.
Bitte warten ..
Mitglied: miniversum
31.12.2008 um 11:45 Uhr
Als Batch gehts so:
01.
@echo off 
02.
FOR /F "delims=" %%i in (Datei.txt) do ersetze:"%%i" 
03.
copy Datei.tmp Datei.txt 
04.
goto:eof 
05.
 
06.
:ersetze 
07.
set "line=%~1" 
08.
set "line=%line:131316=4131316" 
09.
set "line=%line:798231=x798231" 
10.
>>Datei.tmp echo %line% 
11.
goto:eof
Die Zeilen 8 und 9 können entsprechend erweitert werden.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch-Skript: Messdaten in Textdatei finden und in eine neue Datei schreiben (5)

Frage von habmalnefrage zum Thema Batch & Shell ...

Batch & Shell
Powershell Universelles Skript zum Ordnerberechtigungen ändern (3)

Frage von pixel0815 zum Thema Batch & Shell ...

Windows Netzwerk
gelöst Netzwerkdrucker nach Printservertausch im Login Skript ändern. (7)

Frage von steveauskiel zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...