Ausgabe wird abgeschnitten wenn Ausgabe in Datei

Hinweis: In dem Thema Ausgabe wird abgeschnitten wenn Ausgabe in Datei gibt es 15 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Hi,


    ich möchte mail automatisch abfragen.


    Dafür verwende ich ein:


    mail -H



    -H : Nur Header anzeigen.


    Wenn ich das Ganze in eine Datei umleite (mail.txt) aber auch so ohne nachzuvollziehenden Grund werden die Zeilen abgeschnitten.



    #!/bin/bash
    while ( mail -e )
    do
    cat <


    q
    EOF
    done
    cat < mail.txt
    q
    EOF


    Es muss mit der Terminalgrösse was zu tun haben weil bei kleinerem Fenster früher abgeschnitten wird.
    COLUMNS=300 oder ähnliche Versuche haben zu keinem Ergebnis geführt.


    Danke,


    Gruss,


    Bodo

  • Hallo,


    Könntest Du Dein Problem bzw. Deine Frage vielleicht etwas genauer beschreiben?


    Zum Beispiel wäre ein Listing Deines Scripts vermutlich nützlich (ich jedenfalls verstehe Deine diesbezüglichen Angaben nicht).


    Gruss,
    Roland

    Für den Inhalt des Beitrages 31775 haftet ausdrücklich der jeweilige Autor: rme

  • Hi Roland,


    Irgendwie ist beim Pasten was schief gelaufen.


    Hier nochmal einfach:


    mail -f mbox


    gibt mir korrekt alle Email header in voller Länge aus.


    Wenn ich


    mail -f mbox > mail.txt


    verwende werden die Zeilen abgeschnitten.


    Danke Gruss,


    Bodo, ratlos

  • Leider nein.


    Sobald pipe oder output redirection wird abgeschnitten.
    Hab auch schon sed und awk probiert.


    Ist übrigens auch in OSX (BSD Unix) der Fall.


    Muss doch irgendeinen workaround geben.


    Gibts email in Perl?


    Gruss,


    Bodo

  • Hmm, evtl. ist sogar "works-as-designed"?


    AUs der manpage "man mail"


    Zitat

    Pipe (Pi) Like pipe but also pipes ignored header fields and all parts of MIME multipart/alternative messages.


    pipe (pi) Takes a message list and a shell command and pipes the messages through the command. Without an argument,
    the current message is piped through the command given by the cmd variable. If the page variable is set, every
    message is followed by a formfeed character.

    Es ist, bei der Bedienung von mail, unterschiedlich, ob man Pipe oder pipe setzt, geht daraus hervor.


    "Pipe ist wie pipe aber inklusive der von pipe ignorierten header fields....."



    Hmmm, da muss es doch einen Weg geben.....ich nutze mail an der CLI eher selten bis gar nicht, da unsere Server-Mails alle an die Admingruppe weitergeleitet werden; von daher hatte ich noch nie das Bedürfnis diese auszugeben und zu "pipen"....
    Spannende Sache, das....


    /EDIT: Evtl. wäre "mutt" noch ein Weg? Ein Kollege schwört so sehr auf mutt....

  • Ja an mutt haben wir auch schon gedacht aber was wir machen wollen:


    Wir verschicken eine mail und bekommen eine automatische Bestätigungsmail.


    Diese wollen wir automatisch (also grad eingentlich nicht mit mailreadern wie nail, mail, mutt etc weil die interaktiv sind) auswerten.


    Sollte doch eigentlich dayly business sein.


    Parsen von mbox direkt ist auch so eine Sache weil da wilde Charset, newline etc. Sequenzen drin sind


    Ich könnt jetzt Perl-MailTools installieren und damit probieren aber das sollte doch auch so gehen.


    Gruss,


    Bodo

  • Hallo Bodo,


    Ich benutze 'mailx' nicht und kann daher nicht selber testen. In der man page für 'mailx' habe ich gesehen dass die Ausgabe möglicherweise noch von der Fenstergrösse abhängig ist (suche in der man page den Text "piped through the pager if the output does not fit on the screen" etc.).


    Versuch bitte mal:


    Code
    > mail -f mbox |less > mail.txt


    Gruss,
    Roland

    Für den Inhalt des Beitrages 31796 haftet ausdrücklich der jeweilige Autor: rme

  • Da wird auch abgeschnitten.


    Wie gesagt, sobald "> Datei" oder "| Kommando" gehts schief.


    Einfachste Version z. B.:


    mail -H -> funktioniert


    mail -H | tee -> Text wird abgeschnitten


    In Mail selbst gibt es z. B. crt="20" (abzufragen mit set) aber daraus werd ich auch nicht schlau.


    Gruss,


    Bodo

  • Nur mal so zwischendurch:


    Kannst Du das, was da abgeschnitten wird (was ist es eigentlich genau? Alle Header-Zeilen?) versuchen zu "grep"-pen?


    Quasi:


    Code
    mail -f mbox | grep <verloreneZeile>


    geht das grundsätzlich auch nicht?


    Ich muss gleich mal mit mail an meinem CLI rumtesten :)