Hallo Leute,
ich bräuchte dringend ein kleine Skript das folgendes macht:
In der Datei X ist eine bestimmte Zeile Y die ich aber in Zeile Z ändern muss. Das muss ich in ca 300 Dateien machen. Die Schleife ist kein Problem, ich muss nur wissen wie ich die Zeile Y aus der Datei X auslese und durch Zeile Z ersetze.
Wäre nett wenn dieses Skript jemand hier reinschreiben könnte.
Danke im Vorraus
CrazyIven
Bash Skript um eine bestimmte Zeile in einer Datei zu ändern
Re: Bash Skript um eine bestimmte Zeile in einer Datei zu ändern
Hey,
wir sind doch nicht im Schlaraffenland, wo einem die fertigen Skripten in den PC fliegen :x
Das Programm, das Du brauchst ist sed. Und die Anleitung dazu findest Du mit "info sed". Sed kann sehr viel und u.a. auch nach RegEx suchen und ersetzen.
Wenn Du mir 20,- EUR überweist, setze ich mich hin und Du bekommst ein fertiges Skript von mir 8)
Viele Grüße
Pollux
wir sind doch nicht im Schlaraffenland, wo einem die fertigen Skripten in den PC fliegen :x
Das Programm, das Du brauchst ist sed. Und die Anleitung dazu findest Du mit "info sed". Sed kann sehr viel und u.a. auch nach RegEx suchen und ersetzen.
Wenn Du mir 20,- EUR überweist, setze ich mich hin und Du bekommst ein fertiges Skript von mir 8)
Viele Grüße
Pollux
Re: Bash Skript um eine bestimmte Zeile in einer Datei zu ändern
Code: Select all
#!/bin/bash
for i in <file>
do
# simple sed replace but output to a new file
sed 's/<alte zeile>/<neue zeile>/' $i > $i.new
# replace the new file over the old one
mv -f $i.new $i
done
Oder ich nehme dieses Skript und ändere die Dateien. Schade das anscheinend immer mehr Geldgierige User unterwegs sind. Und für dieses kleine Skript 20 Euro? Werd ich mir merken.
Greetz Iven
P.S.: Wer so ein Skript brauch darf sich dieses Skripts bedienen und mir 0,0 Euro überweisen. Danke
Re: Bash Skript um eine bestimmte Zeile in einer Datei zu ändern
Das Script erfüllt jedoch Deine Anforderungen nicht ;)
man grep
man sed
man grep
man sed
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Re: Bash Skript um eine bestimmte Zeile in einer Datei zu ändern
Und das wäre bei meinem 20,- EUR Skript nicht passiert. Meine Sachen haben alle Garantie :-D
Aber nichts für ungut, ich fand nur Deine Frage etwas zu fordernd, daher mein bissiger Kommentar. Ich behalte diesen Thread weiter im Auge, und vielleicht schafft es Dein Problem, mich so zu fesseln, daß ich es auch für umsonst löse...
Viele Grüße
Pollux
Aber nichts für ungut, ich fand nur Deine Frage etwas zu fordernd, daher mein bissiger Kommentar. Ich behalte diesen Thread weiter im Auge, und vielleicht schafft es Dein Problem, mich so zu fesseln, daß ich es auch für umsonst löse...
Viele Grüße
Pollux
Re: Bash Skript um eine bestimmte Zeile in einer Datei zu ändern
Mein Problem ist damit gelöst.
Er nimmt die Urdatei sucht die Zeile, ändert sie und speichert es unter Urdatei.new ab. Danach renamed er Urdatei.new zu Urdatei.
Alles np ... genau das was ich brauchte.
Er nimmt die Urdatei sucht die Zeile, ändert sie und speichert es unter Urdatei.new ab. Danach renamed er Urdatei.new zu Urdatei.
Alles np ... genau das was ich brauchte.
Re: Bash Skript um eine bestimmte Zeile in einer Datei zu ändern
ich hoffe es passt hier im thread: ich war lange auf der Suche nach einem suchen und erstzen recursiv durch verzeichnisse: alle sagen immer machs doch selber in perl... Aber wieso alles neu erfinden also meine Lieblingslösung:
rpl (http://www.laffeycomputer.com/rpl.html)
damit kann man einfach
eintippen und es wird durch die verzeichnisse in jede datei das Wort alt durch neu ersetzt.
uts,
ju
rpl (http://www.laffeycomputer.com/rpl.html)
damit kann man einfach
Code: Select all
rpl -R 'alt' 'neu' * uts,
ju
