aufruf eines Shellskripts

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
parafux
User
Beiträge: 1
Registriert: Donnerstag 23. Juli 2020, 05:46

Hallo,

ich möchte gern ein Skript schreiben, das einen sed-Befehl mit entsprechenden Parametern absetzt.
Ziel ist es in einem oder mehreren Files eine bestimmte Zeile oder mehrere Zeilen an eine bestimmte Position (mit regex spezifizierter Text) einzufügen.

Der sed-Befehl den ich gefunden habe wäre:
sed -i '/<search_string>/a <add_string>' <filename>

Folgenden Aufruf eines python skripts hätte ich gern:
my_skript.py <search_string> <add_string> <filename>
Beispiel:
my_skript.py .*abcd.* neuer\ntext\n *.cfg
in allen Files mit der Endung cfg wird nach jeder Zeile, die abcd enthält ab der nächsten Zeile folgender Text eingefügt:
neuer
Text
<leere Zeile>

Ich komme leider mit den Übergabeparameter in Python nicht zurecht, wann ich ' " \ usw. verwenden muss damit die Parameter richtig im Shell-Befehl ankommen.

Danke und Grüße
p.

ps:
echo $0
liefert:
-tcsh
Benutzeravatar
sparrow
User
Beiträge: 4196
Registriert: Freitag 17. April 2009, 10:28

Das verstehe ich nicht. Wofür braucht es denn da Python?
Entweder du schreibst ein Shell-Script oder du implementierst die Funktionalität von sed selbst in Python.
Antworten