Thread Mehrzeiliges sed Komando aus Perl (3 answers)
Opened by trequ at 2009-01-12 10:34

trequ
 2009-01-12 10:34
#117867 #117867
User since
2008-07-30
7 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich möchte mit einem Perl Script über sed eine Zeile in eine Datei einfügen.

Ich sende Befehle über rsh mit folgendem Befehl:

Code: (dl )
1
2
$rsh_cmd = '[RSH Befehl]';
$response = `echo \'$rsh_cmd\' | rsh [HOSTNAME] -l [USERNAME] /bin/sh -`;

Das funktioniert so weit.

Ich möchte nun allerdings eine Datei editieren und an einer bestimmten Stelle eine Zeile einfügen. (Konkret: User in die passwd eintragen)
Nicht einfach unten anfügen, sondern an einer bestimmten Stelle einfügen.

Der hierfür notwendige sed Befehl würde so aussehen:
Code: (dl )
1
2
sed '/^[Suchstring]/ a\
[Insert-String]' passwd


Das Problem das ich habe ist nun dieser hier notwendige Zeilenumbruch nach dem a\

Auf Linux Kiste gehts, wenn man den Zeilenumbruch einfach weglässt, allerdings auf dem Zielsystem nicht, da dies eine SunOS Kiste ist.

Kann man den Zeilenumbruch irgendwie escapen?

Ich habe bereits diesen Thread dazu gefunden:
http://www.unix.com/shell-programming-scripting/20775-appending-line-sed-works-linux-but-not-solaris.html
Werde allerdings aus dem dort angegebenen ^V und ^J nicht schlau.

Sorry wenn das das falsche Forum ist, aber ich wusste net so recht wo hin damit.

mfg
Daniel

View full thread Mehrzeiliges sed Komando aus Perl