Programm gesucht
Programm gesucht
Hi.
Mit Hilfe von Pipes und Redirection lassen sich aus vermeindlich einfachen Tools(find,xargs,tar...) mächtige Befehlsketten bilden. Allerdings fehlt mir da noch etwas.
Oft ist es so daß man ein PROGRAMM1 (z.B. tar tzf files.tar.gz) verwendet um eine Liste zu generieren und dann ein PROGRAMM2 (z.B. tar xzf files.tar.gz file1.txt file3.txt) mit Teilen der Liste startet. Um die Liste zu übertragen wird sicher meist eine Art Copy-Paste verwendet.
Ich suche ein Programm mit dem folgendes möglich wäre:
prog -list PROGRAMM1 -process PROGRAMM2
PROGRAMM1 wird gestartet und die Ausgabe angezeigt. Nun kann man beliebige Zeilen markieren. Und zum Schluß werden die markierten Zeilen PROGRAMM2 als Argumente übergeben.
Da PROGRAMM1 und 2 beliebig sein können wäre so etwas sehr vielseitig zu verwenden. Z.B mit tar, unzip, cvs...
Leider läßt sich soetwas schlecht mit Freshmeat suchen? Gibt es vielleicht schon so ein Programm irgendwo? Vorschläge sind willkommen
Stephan
Mit Hilfe von Pipes und Redirection lassen sich aus vermeindlich einfachen Tools(find,xargs,tar...) mächtige Befehlsketten bilden. Allerdings fehlt mir da noch etwas.
Oft ist es so daß man ein PROGRAMM1 (z.B. tar tzf files.tar.gz) verwendet um eine Liste zu generieren und dann ein PROGRAMM2 (z.B. tar xzf files.tar.gz file1.txt file3.txt) mit Teilen der Liste startet. Um die Liste zu übertragen wird sicher meist eine Art Copy-Paste verwendet.
Ich suche ein Programm mit dem folgendes möglich wäre:
prog -list PROGRAMM1 -process PROGRAMM2
PROGRAMM1 wird gestartet und die Ausgabe angezeigt. Nun kann man beliebige Zeilen markieren. Und zum Schluß werden die markierten Zeilen PROGRAMM2 als Argumente übergeben.
Da PROGRAMM1 und 2 beliebig sein können wäre so etwas sehr vielseitig zu verwenden. Z.B mit tar, unzip, cvs...
Leider läßt sich soetwas schlecht mit Freshmeat suchen? Gibt es vielleicht schon so ein Programm irgendwo? Vorschläge sind willkommen
Stephan
Zuletzt geändert von esteel am 31.08.2006 14:11:36, insgesamt 1-mal geändert.
i support free software: http://www.fsfe.org/en/fellows/esteel
a great free and opensource FPS game: http://nexuiz.com
a great free and opensource FPS game: http://nexuiz.com
Hier eine mögliche Lösung:
Beispiel:
Das zeigt mal wieder die genialen Möglichkeiten einer UNIX-Shell.
Bye
roadrunner
Code: Alles auswählen
f=/tmp/log$$; PROGRAMM1 >$f; vi $f; cat $f | PROGRAMM2; rm $f
Code: Alles auswählen
f=/tmp/log$$; ls >$f; vi $f; cat $f; rm $f
Bye
roadrunner
Re: Programm gesucht
Ich bin mir nicht sicher, Dich richtig verstanden zu haben, da Du ja manuell den Output vom 1. Programm bearbeiten willst.stahl hat geschrieben:.
Oft ist es so daß man ein PROGRAMM1 (z.B. tar tzf files.tar.gz) verwendet um eine Liste zu generieren und dann ein PROGRAMM2 (z.B. tar xzf files.tar.gz file1.txt file3.txt) mit Teilen der Liste startet. Um die Liste zu übertragen wird sicher meist eine Art Copy-Paste verwendet.
Ich suche ein Programm mit dem folgendes möglich wäre:
prog -list PROGRAMM1 -process PROGRAMM2
Meinst Du evtl. folgendes:
PROGRAMM2 `PROGRAMM1`
Bsp.: ls -l `which cp`
Gruß
ernohl
ernohl
Das ist echt gutroadrunner hat geschrieben:Hier eine mögliche Lösung:Code: Alles auswählen
f=/tmp/log$$; PROGRAMM1 >$f; vi $f; cat $f | PROGRAMM2; rm $f
Müßte man da oben vor "PROGRAMM2" nicht noch ein "xargs" einfügen?
Code: Alles auswählen
f=/tmp/log$$; PROGRAMM1 >$f; vi $f; cat $f | xargs PROGRAMM2; rm $f
eC
Die Idee ist sehr gut. Vorallem da Unix "Bordmittel" benutzt werden.roadrunner hat geschrieben:Hier eine mögliche Lösung:....Code: Alles auswählen
f=/tmp/log$$; PROGRAMM1 >$f; vi $f; cat $f | PROGRAMM2; rm $f
Das zeigt mal wieder die genialen Möglichkeiten einer UNIX-Shell.
Leider ist es nicht Vorteilhaft, daß alle Zeilen die mich nicht interessieren
per "dd" entfernt werden müßen. Man verliert den Überblick. Besonders fehlt die Möglichkeit eine gelöschte Zeile wieder herzustellen. Außerdem muß man aufpassen, daß nicht 2 mal das selbe File $f verwendet wird.
Daher die Frage ob es für so etwas schon ein Programm gibt. Vielleicht wäre das ja eine Chance sich mit mit Sourceforge zu beschäftigen und zu programmieren.. Ein Programm könnte das im Speicher ohne File machen, was den Pipes am nähesten kommt?
ernohl: Ich meinte es ehr so wie roadrunner es erklärt hat. Ich will eben noch manuel Einfluß auf die Argumentliste für PROGRAMM2 nehmen.
Das wäre vielleicht so etwas wie die Verallgemeinerung des emacs Packetes PCL-CVS. Ich sehe eine Liste, kann alles was mich interesiert markieren und auf Tastendruck wird dann ein Programm mit eben diesen Argumenten gestartet.
Zuletzt geändert von esteel am 31.08.2006 14:11:14, insgesamt 1-mal geändert.
i support free software: http://www.fsfe.org/en/fellows/esteel
a great free and opensource FPS game: http://nexuiz.com
a great free and opensource FPS game: http://nexuiz.com
Ein Undo gib es auch im vi (Taste u). Falls Du aber einen Editor mit GUI bevorzugst, kein Problem:stahl hat geschrieben:Leider ist es nicht Vorteilhaft, daß alle Zeilen die mich nicht interessieren per "dd" entfernt werden müßen. Man verliert den Überblick. Besonders fehlt die Möglichkeit eine gelöschte Zeile wieder herzustellen. Außerdem muß man aufpassen, daß nicht 2 mal das selbe File $f verwendet wird.
Code: Alles auswählen
f=/tmp/log$$; ls >$f; kwrite $f; cat $f | xargs echo; rm $f
Nein nein, der Editor ist nicht das Problem.. stell dir mal vor du benutzt das Ganze um ein paar Files aus einem tar.gz zu extrahieren. Dann müßtest du alle Zeilen( bzw. Dateien ) die du nicht extrahiert haben willst aus der Datei löschen. ( Im Falle von vi eben mit dd ) Erst einmal siehst du dann alle Zeilen( Dateien ) nicht mehr die du gelöscht hast, verlierst also etwas die Übersicht.. Sogar wenn du es dir noch einmal ANDERS überlegen solltest. Mit undo, egal bei welchem Editor kannst du immer nur der Reihe nach ein undo machen. Wenn ich also 10 Zeilen lösche weil ich die Dateien nicht brauche, dann kann ich es mir nicht anders überlegen und die 1. dieser Zeilen wieder hinzufügen...roadrunner hat geschrieben: Ein Undo gib es auch im vi (Taste u). Falls Du aber einen Editor mit GUI bevorzugst, kein Problem:
Aber wir könnten bei jeder Zeile die uns interesiert, an jeden Zeilenanfang einen "MagicCode" hinzifügen, leiten das Ganze noch kurz in einen sed und laßen alle dann alle Zeilen ohne entfernen. ( Und natürlich das Magic selbst auch ) So behält man die Übersicht und kann quasi alles interesante "markieren" ???
Das ist super. Danke, habe ich noch nicht gewußt.roadrunner hat geschrieben: Mit dem File gibt es auch keine Probleme. Durch das $$ am Ende der Environment-Variablen wir am Ende des Dateinamens die aktuelle PID angehängt. Damit können mehrere Prozesse laufen und jeder hat sein eigenes Temp-File.
Zuletzt geändert von esteel am 31.08.2006 14:11:04, insgesamt 1-mal geändert.
i support free software: http://www.fsfe.org/en/fellows/esteel
a great free and opensource FPS game: http://nexuiz.com
a great free and opensource FPS game: http://nexuiz.com
Verstanden. Du sucht also folgendes:stahl hat geschrieben:Nein nein, der Editor ist nicht das Problem.
Code: Alles auswählen
PROGRAMM1 | PIPE_SELECT | xargs PROGRAMM2
Sorry , leider kenne ich kein Programm mit der Funktion von PIPE_SELECT.
roadrunner
Genau.roadrunner hat geschrieben: Verstanden. Du sucht also folgendes:Das Programm PIPE_SELECT ließt von STDIN und gibt dann alle selektierten Zeilen nach STDOUT aus. Damit spart man dann noch das Temp-File ein.Code: Alles auswählen
PROGRAMM1 | PIPE_SELECT | xargs PROGRAMM2
Sorry , leider kenne ich kein Programm mit der Funktion von PIPE_SELECT.
Vielleicht waren meine Erklärungen etwas schwer verständlich. Das liegt sicher auch daran, daß ich bis eben noch der Meinung war, wenn ein Programm von STDIN liest und auf STDOUT ausgibt, dann kann es nicht per Tastatur bedient werden, weil das ja normalerweise STDIN ist. Deswegen mein Umweg über PIPE_SELECT --list PROGRAMM1 --process PROGRAMM2. Das hat sicher nicht zum Verständnis beigetragen.
Ich habe aber gerade gemerkt, daß ein less < file.txt sich per Tastatur bedienen läßt. Dann wird das mit der Ausgabe auf STDOUT auch gehen?
Deine Vorschläge mit einem Editor sind ein guter Ersatz und absolut brauchbar!
Vorallem ist mir kein Name für so ein Programm eingefallen. PIPE_SELECT klingt sehr gut. Ich werde mal auf Freshmeat nach soetwas suchen vielleicht gibt es das ja doch schon.
Zuletzt geändert von esteel am 31.08.2006 14:10:52, insgesamt 1-mal geändert.
i support free software: http://www.fsfe.org/en/fellows/esteel
a great free and opensource FPS game: http://nexuiz.com
a great free and opensource FPS game: http://nexuiz.com
i support free software: http://www.fsfe.org/en/fellows/esteel
a great free and opensource FPS game: http://nexuiz.com
a great free and opensource FPS game: http://nexuiz.com