Datei Einlesen, Zeilen in neue Datei kopieren, und dabei noch zeilen hinzufügen.

D

daarty

Grünschnabel
Hi,
ich suche zur Zeit nach einem Skript, dass folgendes Dateischema einliest:

PHP:
Zeile 1
{
Zeile 2
Zeile 3 
Zeile 4
Zeile 5
}
Davon alles einliest bis Zeile 5 und dahinter noch einige Zeilen ca. 10 hinzufügt.

Da ich hierbei nicht jede Datei einzeln angeben will, soll es alle unterordner nach der entdung .vmt durchforsten und das nur bei denen machen (sind ca. 1500 Dateien, die geändert werden müssen)

mfg

daArty
 
Hi,
ich suche zur Zeit nach einem Skript, dass folgendes Dateischema einliest:


Davon alles einliest bis Zeile 5 und dahinter noch einige Zeilen ca. 10 hinzufügt.

Da ich hierbei nicht jede Datei einzeln angeben will, soll es alle unterordner nach der entdung .vmt durchforsten und das nur bei denen machen (sind ca. 1500 Dateien, die geändert werden müssen)

mfg

daArty

Hallo
Also entweder du suchst Software für eine Aufgabe, dann bist du hier falsch.
Oder, du schreibst dir selbst solch ein Script?
Wenn du damit Probleme hast, schreib deine Versuche hier rein und erfrag konkrete Probleme.

Eine Scriptfabrik sind wir nicht.

Gruß Wolfgang
 
ich denke mal da wirst du eins schreiben müssen.

grep, sed, cat, awk, echo, ls usw werden dir denke ich weiterhelfen

//edit mal wieder zuspät
 
Hi,

bei so Textgeschichten tendiere ich immer schnell zu Perl, aber deine Frage ist auch etwas ungenau. Z.B. was soll an Zeilen hinzugefügt werden? Sollen die einen bestimmten Inhalt haben, ist der Inhalt, den sie haben sollen, schematisch?

Vielleicht fehlt mir die Phantasie, aber irgend ein (gefaketer) Beispieltext und was daraus werden soll währe sinnvoll zu posten...

[edit]
und die Bemerkung zur Scriptfabrik ist übrigens treffend
 
Das mit der Skriptfabrik habe ich auch nicht so gemeint.
Ich brauchte nur irgendeinen Ansatz...

Hier also jetzt mal ein beispiel Code:

PHP:
LightmappedGeneric
{
	"$basetexture"	"metal\prodventa"
	"$surfaceprop" "panel"
	"$envmap" "env_cubemap"
	"$bumpmap" "metal\prodventa_normal"
	"$normalmapalphaenvmapmask" "1"
}

soll werden zu:

PHP:
LightmappedGeneric
{
	"$basetexture"	"metal\prodventa"
	"$surfaceprop" "panel"
	"$envmap" "env_cubemap"
	"$bumpmap" "metal\prodventa_normal"
	"$normalmapalphaenvmapmask" "1"
    "Proxies"
    {
        "Sine"
        {
            "resultVar"    "$alpha"
            "sineperiod"    1
            "sinemin"    0.65
            "sinemax"    0.65
        }
    } 
}

Also rein theorethisch löscht man ja nur die letzte Zeile aus der original Datei und fügt dann was hinzu...

Einfachere Frage:
Mit welchem Befehl lösche ich die letzte Zeile aus einer Datei?
 
Zuletzt bearbeitet:
Dafür gibt es verschiedenen Lösungen, aber ein Beispiel:
Code:
sed -i '$d' inputdatei
Und ich denke wichtig ist für dich der Befehl:
Code:
man sed

Gruss
d22
 
Hallo
Der (das?) sed kennt übrigens auch die Option -a ( append) um einen Text an bestimmter Stelle einzufügen!

Gruß Wolfgang
 
Asow - na dann bin ich ba jeruhigt :D
...nüx für ungut :)
 
Danke ^^
Ich werd mich dann mal an das skript setzen ^^

eine Frage, die ich noch habe:

Wie macht man das mit einer Filelist in bash?
(Dass der die einliest, und jede Datei einzeln bearbeitet)
 
Zuletzt bearbeitet:
Danke ^^
Ich werd mich dann mal an das skript setzen ^^

eine Frage, die ich noch habe:

Wie macht man das mit einer Filelist in bash?
(Dass der die einliest, und jede Datei einzeln bearbeitet)
Zum Beispiel so:
Code:
for i in $(find /path/ -type f -iname "*log");
 do
echo $i;
#do here somewhat
done

Gruß Wolfgang
 
du kannst es auch z.B. mit ls -1 wenn ale im selben Verzeichnis liegen also:

for i in $(ls -1)
do
done

ansonsten mit find, oder vll tree
 

Ähnliche Themen

Spalten einer Datei in neue Datei integrieren.

RedHat 4 (Lineox 4) in VMware mit BusLogic Treiber

Diveres Anfängerfragen

Server-Monitoring mit RRDTool

Zurück
Oben