Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 20

Thema: Ausgabe Zeilenweise auf der Konsole + Umleitung möglich?

  1. #1
    Registrierter Benutzer
    Registriert seit
    Oct 2006
    Beiträge
    22

    Ausgabe Zeilenweise auf der Konsole + Umleitung möglich?

    Hallo, folgendes Problem:

    Ich habe einen der Befehl der etwas abarbeitet und Zeilenweise immer mal wieder etwas aufgibt auf der Konsole. Ich möchte den Text dieser Ausgaben danach auswerten lassen, möchte aber die Zeilenweise "Live Ausgabe" auch haben. Wenn ich jetzt den Befehl umleite in eine Variable oder mit grep arbeite dann sehe ich aber die Zeilenweise Ausgabe nicht mehr.

    Gibts da eine Lösung dafür?
    Oder gibt es vielleicht eine Möglichkeit, den kompletten Textinhalt der aktuelle geöffneten/benutzten Konsole danach in eine Variable zu kopieren/einzulesen?

  2. #2
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    20.239
    Du suchst vermutlich
    Code:
    man tee
    Ich bin root - ich darf das.

  3. #3
    Banned
    Registriert seit
    Feb 2005
    Beiträge
    1.149
    Code:
    # Umleitung eines Codeblocks
    {  command1
       command2
       command3 } >/some/path/name
    
    # command substitution
    # der output von $(.....) landet in der Variablen var
    var=$(  command1
                command2
              )
    
    # mit "tee" abzweigen.
    
    command1 | tee someFile  #output ist auf screen und in someFile
    
    # jede Kombination möglich
    # block nach someFile und screen
    {  command1
       command2
       command3 } | tee someFile
    
    # block in var schreiben und nach someFile
    var=$(  {  command1
               command2
               command3 } | tee someFile
          )

  4. #4
    Registrierter Benutzer
    Registriert seit
    Oct 2006
    Beiträge
    22
    Zitat Zitat von marce Beitrag anzeigen
    Du suchst vermutlich
    Code:
    man tee
    da hatte ich vorhin auch mal mit rum experimentiert, hab es aber auch nicht hinbekommen.

  5. #5
    Banned
    Registriert seit
    Feb 2005
    Beiträge
    1.149
    Wenn du deine Versuche posten würdest, könnte man sagen, was da falsch ist.
    Dass "es nicht klappt", ist nicht hilfreich.

  6. #6
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    20.239
    ... und beim experimentieren besser den Rum weglassen.
    Ich bin root - ich darf das.

  7. #7
    Registrierter Benutzer
    Registriert seit
    Oct 2006
    Beiträge
    22


    Ich mach z.B. mit vzdump ein Backup. Hierbei wird während des Backups immer mal wieder eine Zeile auf der Konsole ausgegeben, wo man sieht wo er gerade ist und ob alles in Ordnung ist. Wenn ich mit "tee" arbeite, dann kommen aber die zeilenweise Ausgaben icht mehr, er macht dann das komplette Backup und danach kommt auf einen Schlag die ganze Ausgabe und genau das möchte ich nicht.

    vzdump 500 --quiet 0 --mode snapshot --compress 0 --storage backup | tee MYVAR

  8. #8
    Banned
    Registriert seit
    Feb 2005
    Beiträge
    1.149
    Solche Meldungen erscheinen meist auf STDERR.
    Also auch diesen Kanal umleiten.
    2>/some/file

  9. #9
    Registrierter Benutzer
    Registriert seit
    Oct 2006
    Beiträge
    22
    Im File oder der Variablen brauche ich es nicht Zeilenweise, aber auf der Konsole bzw. dem Bildschirm und das geht eben nicht.

  10. #10
    Banned
    Registriert seit
    Feb 2005
    Beiträge
    1.149
    Zitat Zitat von BetterWorld Beitrag anzeigen
    Wenn du deine Versuche posten würdest, könnte man sagen, was da falsch ist.
    Dass "es nicht klappt", ist nicht hilfreich.
    Echt? Klappt das nicht?
    Komisch.

  11. #11
    Universaldilletant Avatar von fork
    Registriert seit
    Dec 2001
    Ort
    Frankfurt/Main
    Beiträge
    987
    In der Pipe sind üblicherweise Puffer in der Grösse von 4K bzw 64K aktiv(siehe man 7 pipe). D. h. es wird so lange gesammelt bis entweder der Puffer voll ist oder das Kommando beendet ist(Das mutmasse ich jetzt mal so).

    Um das zu unterbinden muss man den Puffer für jedes Kommando in einer Pipe explizit ausschalten, bzw. auf 0 stellen,...

    Code:
    stdbuf -i0 -o0 -e0 command1 | stdbuf -i0 -o0 -e0 command2 ...
    oder auf Zeilenpufferung umstellen:

    Code:
    stdbuf -oL -eL command1 | stdbuf -oL -eL command2 ...
    mehr Informationen sind zu finden in der manpage von stdbuf: man stdbuf bzw. info coreutils. (Anmerkung: Eigentlich sollte ja auch info coreutils 'stdbuf invocation' gehen, aber ich komme trotzdem immer nur auf die Startseite von coreutils)

    Zeilenpufferung für STDIN kann man laut manpage nicht auf Zeilenpufferung einstellen. (Grund: k. A. Vielleicht, weil das bereits die Vorgabe ist?)

    ...und zum Thema Beissreflex von Forenmitgliedern zum Ausspruch "Es klappt nicht", obwohl der Fragende ganz klar sein Problem geschildert hat:

    Hodor!
    Geändert von fork (13.01.17 um 11:13 Uhr)

  12. #12
    Registrierter Benutzer
    Registriert seit
    Oct 2006
    Beiträge
    22
    Es möchte einfach nicht klappen....weder
    stdbuf -i0 -o0 -e0 vzdump 500 --quiet 0 --mode snapshot --compress 0 --storage backup | stdbuf -i0 -o0 -e0 tee MYVAR
    noch
    stdbuf -oL -eL vzdump 500 --quiet 0 --mode snapshot --compress 0 --storage backup | stdbuf -oL -eL tee MYVAR
    funktioniert. Die Ausgabe erscheint immer erst wenn alles fertig ist.

  13. #13
    Universaldilletant Avatar von fork
    Registriert seit
    Dec 2001
    Ort
    Frankfurt/Main
    Beiträge
    987
    Wie sieht Dein ganzer Code aus?

  14. #14
    Registrierter Benutzer
    Registriert seit
    Oct 2006
    Beiträge
    22
    Für den schnellen Test hab ich nur mal das hier genommen:
    #!/bin/sh

    BACKUP='vzdump 500 --quiet 0 --mode snapshot --compress 0 --storage backup'

    stdbuf -i0 -o0 -e0 $BACKUP | stdbuf -i0 -o0 -e0 tee MYVAR

  15. #15
    Elefantenversteher Avatar von florian0285
    Registriert seit
    Jun 2016
    Beiträge
    904
    So by the way mal dazu geworfen. Falls das nach wie vor nicht funktionieren sollte kannst du ja die Ausgabe in ein File umleiten mit tail live verfolgen und anschließend aus dem File in ne Variable lesen und das ggf. wieder löschen.
    Matthäus 7:3 Was siehst du aber den Splitter in deines Bruders Auge, und wirst nicht gewahr des Balkens in deinem Auge?

Ähnliche Themen

  1. Ausgabe vom Script - Zeilenweise verarbeiten
    Von sam600 im Forum Linux Allgemein
    Antworten: 3
    Letzter Beitrag: 17.02.13, 14:54
  2. Ausgabe von Konsole anzeigen
    Von Herr Bert im Forum Linux Allgemein
    Antworten: 4
    Letzter Beitrag: 14.08.08, 14:02
  3. Ausgabe auf Konsole unterdrücken
    Von Kolme im Forum Linux Allgemein
    Antworten: 2
    Letzter Beitrag: 14.02.06, 23:18
  4. Konsole: farbige Ausgabe
    Von Nero im Forum Linux Allgemein
    Antworten: 4
    Letzter Beitrag: 04.10.04, 17:06
  5. pppoed Ausgabe an der Konsole
    Von sprudel123 im Forum Anbindung an die Aussenwelt
    Antworten: 3
    Letzter Beitrag: 24.05.01, 21:01

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •