[sed] Mehrere Zeilen löschen

soa

Erfahrenes Mitglied
Hallo,

ich versuche aus einer Datei x Zeilen u löschen, wobei x durch eine Variable definiert wird.
das Script soll in der BASH unter sun Solaris laufen.

mein Ansatz:

sed '1,'"$anzahl_bed"'d' Datei

Ausgabefehler: sed: Befehl verstümmelt: 1, 78d

wobei dieser Befhel läuft: sed '1,2d'

Über ein Rückmeldung wäre ich dankbar...

Grüße
 
Hm,
ich bin jetzt nicht ganz so fit, aber hast Du mal versucht, die Variable vor dem Sed zusammenzusetzen.
$var = 1+ $anzahl_bed
sed '$var'd' Datei

irgendwie so . . .
 
Moin,

danke, aber der Befehl macht folgendes:

sed '1,10d' Löscht die Zeilen 1 - 10.

Aus diesem Grund macht es hier keinen Sinn, etwas zusammenzusetzen. Hier muss die obere und untere Grenze der Zeilen angegeben werden, die gelöscht werden sollen.:)
 
Ja ja,
leider habe ich gerade keinen Linux-Rechner da, aber was passiert denn bei:
$var="1,"+$anzahl_bed+"d"
sed '$var'

Das ist zwar gerade Java, weil ich die Syntax grad nicht kenne, aber vom System her.
 
Hallo Jörg,

guter Ansatz, sprich die Idee war wirklich Goldrichtig.

var="1,${anzahl_bed}d" und dann muss man in der Variable noch die Leerzeichen rauskicken...

sed ${var// /}

damit alles richtig interpretiert wird.

Danke für die Mithilfe :)
 

Neue Beiträge

Zurück