Hallo, On Sat, 18 Jan 2003, Bernd Brodesser wrote:
* David Haller schrieb am 17.Jan.2003:
On Fri, 17 Jan 2003, Bernd Brodesser wrote:
Also etwa die ersten drei Zeilen und die letzten drei,
$ sed -n '1{N;N;p;};${x;G;p;};N;h;' /tmp/rpmlist [..] Aber 4-zeilig bekomm ich's nimmer hin. Das naheliegende sed -n '1{N;N;N;p;};${x;G;p;};N;N;h;' /tmp/rpmlist funktioniert nicht.
Nee, leider nicht, auch Dein Teil mit drei Zeilen funktioniert nicht.
Ja, stimmt, bei < 7 Zeilen oder geraden. Grumpf. Naja, s.u.
,----[ ~/bin/headntail ] | #!/bin/sh | exec 3>/dev/stdout
Zwei Ausgabeströme reichen Dir nicht. Na gut.
Noe. Irgendwie hab ich nen Knoten in der Denke und bekomms net anders hin ;)
| test -n "$IN" && unset IN
Hä? Ein einfachs unset IN macht das Gleiche, oder nicht?
Auch wieder wahr ;) Aber noetig ist's, zumindest bei der Art die Argumente auszuwerden... [..]
| test -n "$IN" && set -- "$IN" | for f in "$@"; do | ( cat "$f" | tee /dev/stderr | head $N 1>&3 ) 2>&1 | tail $N | done `----
Nun ja. aber doch nicht das, was man einem unbedarften Anwender zumuten sollte.
Ja. Aber ein head -N datei; tail -N datei schon, funktioniert eben nicht mit ner pipe.
Als fertiges Programm für diesen Anwender hingegen ist es etwas zu unflexibel.
Inwiefern? Meinst du, weil z.B. bei 'echo -e "a\nb" | headntail -3' nicht zusammengefasst wird? Naja, da muesste man dann wohl ein 'wc -l' oder so noch irgendwie einbauen oder das ganze in C oder so schreiben. -dnh -- 106: robuschdness brincible Des 'robuschdness brincible' dr IETF lauded nedd: 'Du darfsch Muell sende.' und au nedd 'Du mussch Muell annehme.'. Viele Leide verkenne dis. (Krischdian Koehndobb)