Konfigurationsdatei editieren
Hallo zusammen !
Mein erster Beitrag hier in dem Forum (bin neues Mitglied), hoffe das mir geholfen werden kann
Also folgendes:
Ich würde gerne eine bestehende Konfigurationsdatei editieren. Funktion soll sein, daß ich nach einem bestimmten Wort in dieser Datei suche, bei Erfolg dann die diese Zeile + die 4 nächsten Zeilen lösche. Ob es nun ein Batch-Befehl ist, oder in einer anderen Sprache wäre egal, hauptsache funktioniert Hat jemand eine Idee ? Ich hatte ein bisschen mit Ursprungs Unix Befehlen (grep,sed - die es ja auch freeware für Windows gibt) rumgetestet, leider nicht zu meinem Erfolg...Obwohl ich eigentlich sicher bin, daß es auch damit funktionieren müsste...
Vielen Dank im vorraus !
Mein erster Beitrag hier in dem Forum (bin neues Mitglied), hoffe das mir geholfen werden kann
Also folgendes:
Ich würde gerne eine bestehende Konfigurationsdatei editieren. Funktion soll sein, daß ich nach einem bestimmten Wort in dieser Datei suche, bei Erfolg dann die diese Zeile + die 4 nächsten Zeilen lösche. Ob es nun ein Batch-Befehl ist, oder in einer anderen Sprache wäre egal, hauptsache funktioniert Hat jemand eine Idee ? Ich hatte ein bisschen mit Ursprungs Unix Befehlen (grep,sed - die es ja auch freeware für Windows gibt) rumgetestet, leider nicht zu meinem Erfolg...Obwohl ich eigentlich sicher bin, daß es auch damit funktionieren müsste...
Vielen Dank im vorraus !
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 24138
Url: https://administrator.de/forum/konfigurationsdatei-editieren-24138.html
Ausgedruckt am: 24.12.2024 um 00:12 Uhr
7 Kommentare
Neuester Kommentar
kommt ein wenig darauf an was du wirklich machen willst.
ob es sich nur um eine-, zweimal oder doch eher um ne
fortlaufende geschichte handelt, usw. und sofort. insofern
es nich komplett automatisch ablaufen muss, würd ich dir
am ehersten zu excel raten.
vielleicht könntest du auch einen kleinen bespielauszug
aus der config einfügen.
ob es sich nur um eine-, zweimal oder doch eher um ne
fortlaufende geschichte handelt, usw. und sofort. insofern
es nich komplett automatisch ablaufen muss, würd ich dir
am ehersten zu excel raten.
vielleicht könntest du auch einen kleinen bespielauszug
aus der config einfügen.
kannst du eine script-/programmiersprache?
kannst du oracle?
für eine batchlösung, würde man wohl folgende tools benötigen:
• ein suchtool, welches nach möglichkeit zeilenweise und auch nur den anfang
auf einen begriff hin untersucht
• ein tool welches eine datei zeilenweise betrachten kann
• und/oder ein tool welches einzelne zeilen aus einer datei löschen kann.
ohne diese wird es wohl per batch nich gehen oder verdammt schwer, um nich zu sagen
ein horror.
was für scriptsprachen würden den in frage kommen, bzw. was für ein os rennt den
genau auf dem betreffenden system, bzw. rennt vielleicht auch ein webserver auf
dem teil und kommt somit eventuell auch ne weblösung (z.b. per php) in frage?
kannst du oracle?
für eine batchlösung, würde man wohl folgende tools benötigen:
• ein suchtool, welches nach möglichkeit zeilenweise und auch nur den anfang
auf einen begriff hin untersucht
• ein tool welches eine datei zeilenweise betrachten kann
• und/oder ein tool welches einzelne zeilen aus einer datei löschen kann.
ohne diese wird es wohl per batch nich gehen oder verdammt schwer, um nich zu sagen
ein horror.
was für scriptsprachen würden den in frage kommen, bzw. was für ein os rennt den
genau auf dem betreffenden system, bzw. rennt vielleicht auch ein webserver auf
dem teil und kommt somit eventuell auch ne weblösung (z.b. per php) in frage?
mittels datenbank (die einfachste variante) :
• textfile als datenbank einlesen (eine zeile = ein datensatz mit einem feld)
• anschliessend den betreffenden datensatz suchen (am zeilenanfang)
• den betreffenden datensatz 10mal löschen
• alles wieder in ein textfile exportieren
c++:
schnapp dir ein readline() oder nen dateistream und klatsch ihn mittels
for-schleife in ein array. das array sollte hierbei am ende pro feld eine zeile
beinhalten, zur vereinfachung würde ich das feld auslassen, damit die
feldnummern equivalent zur zeilennummern is.
anschliessend checkst du jede dieser zeilen mittels for-schleife durch (immer
am anfang der zeile), ob sie dem gesuchten wort entspricht, damit scheiden
schon mal alle mit klammerbeginnenten zeilen aus und du bekommst somit
nur mehr ein ergebnis, welches sich auf die gewollten anwendungseinträge
bezieht. bei einem treffer weiss dein programm dank for-duchlaufzähler welche
zeile die gesuchte is.
anschliessend wieder mit ner for-schleife das komplette array in ein file schreiben,
bis zum gefundenen datensatz (if-abfrage). an der stelle einfach den zähler um 9
bis 10 stellen hochsetzen (löschen der ungewünschten zeilen), anschliessend noch
bis zum ende des arrays alles ins file schmeissen und aus die maus.
• textfile als datenbank einlesen (eine zeile = ein datensatz mit einem feld)
• anschliessend den betreffenden datensatz suchen (am zeilenanfang)
• den betreffenden datensatz 10mal löschen
• alles wieder in ein textfile exportieren
c++:
schnapp dir ein readline() oder nen dateistream und klatsch ihn mittels
for-schleife in ein array. das array sollte hierbei am ende pro feld eine zeile
beinhalten, zur vereinfachung würde ich das feld auslassen, damit die
feldnummern equivalent zur zeilennummern is.
anschliessend checkst du jede dieser zeilen mittels for-schleife durch (immer
am anfang der zeile), ob sie dem gesuchten wort entspricht, damit scheiden
schon mal alle mit klammerbeginnenten zeilen aus und du bekommst somit
nur mehr ein ergebnis, welches sich auf die gewollten anwendungseinträge
bezieht. bei einem treffer weiss dein programm dank for-duchlaufzähler welche
zeile die gesuchte is.
anschliessend wieder mit ner for-schleife das komplette array in ein file schreiben,
bis zum gefundenen datensatz (if-abfrage). an der stelle einfach den zähler um 9
bis 10 stellen hochsetzen (löschen der ungewünschten zeilen), anschliessend noch
bis zum ende des arrays alles ins file schmeissen und aus die maus.
Hier noch ein Ansatz ohne Bezug auf eine konkrete Programmiersprache:
- öffnen der Datei
- zeilenweises Suchen nach dem Anwendungsnamen per Schleifenbefehl (jede Zeile hat ja am Ende einen Zeilenumbruch) und dabei Zählen der selben per Variable z.B. AnzZeilen = AnzZeilen + 1
- wenn gefunden, löschen der gewünschten Anzahl folgender Zeilen per Schleife oder direkt z.B. von AnzZeilen bis AnzZeilen + 10
- speichern der Datei
- öffnen der Datei
- zeilenweises Suchen nach dem Anwendungsnamen per Schleifenbefehl (jede Zeile hat ja am Ende einen Zeilenumbruch) und dabei Zählen der selben per Variable z.B. AnzZeilen = AnzZeilen + 1
- wenn gefunden, löschen der gewünschten Anzahl folgender Zeilen per Schleife oder direkt z.B. von AnzZeilen bis AnzZeilen + 10
- speichern der Datei