Seite 1 von 1

aufruf eines Shellskripts

Verfasst: Donnerstag 23. Juli 2020, 06:50
von parafux
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

Re: aufruf eines Shellskripts

Verfasst: Donnerstag 23. Juli 2020, 13:26
von sparrow
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.