j0k3r87
Lieutenant
- Registriert
- Feb. 2008
- Beiträge
- 528
Hallo,
wie im Titel bereits beschrieben möchte ich eine Funktion schreiben die mir die Zeile, dessen Wert ich per Argument übergebe, an die Spitze der Datei schreibt.
Die Datei sieht so aus:
1 - Hallo
2 - Huhu
3 - Test
4 - Grüße
wenn ich nun mein Skript per '~./skript top 3' starte, möchte ich, das die dritte Zeile an die erste Stelle gesetzt wird.
Bisher hab ich folgenden Code, nur gibt er mir immer anstelle von zB "3 - Test" nur die 3 an erster Stelle aus, also:
3
2 - Hallo
3 - Huhu
4 - Grüße
Hoffe ihr könnt mir Ratschläge geben
wie im Titel bereits beschrieben möchte ich eine Funktion schreiben die mir die Zeile, dessen Wert ich per Argument übergebe, an die Spitze der Datei schreibt.
Die Datei sieht so aus:
1 - Hallo
2 - Huhu
3 - Test
4 - Grüße
wenn ich nun mein Skript per '~./skript top 3' starte, möchte ich, das die dritte Zeile an die erste Stelle gesetzt wird.
Bisher hab ich folgenden Code, nur gibt er mir immer anstelle von zB "3 - Test" nur die 3 an erster Stelle aus, also:
3
2 - Hallo
3 - Huhu
4 - Grüße
Code:
if [ "$1" == "top" ]; then
x=$[$2+1]
y=$2
sed -i -e '1i'$y'' $FILE
sed -i -e "$x"d $FILE
show
fi
Hoffe ihr könnt mir Ratschläge geben