cron/mailxの文字処理制御

cron/mailxの文字処理制御

多くの出力を生成する長いスクリプトを実行するcronジョブがあります。一部の出力は、単一のキャリッジリターンで区切られた行です。コマンドラインで実行すると、連続した行が互いに重なり合って、逆スクロールを過度に汚染することなく進行状況出力を提供します。しかし、cronジョブの出力を見るとき、この行を1つも見逃さずにすべて見たいです。

最近まで、mailxcronjobからレポートを印刷するときに、制御文字を反転ビデオに置き換えて^M強調表示しました。これはすべての線が見えるようにするので、私が望む動作です。ただし、未知の事項が変更され(バージョンアップ?)、mailx制御文字をそのまま印刷しており、電子メールの印刷時に上書きされます。この動作を元に戻してmailx制御文字を変更するにはどうすればよいですか?

答え1

tr追加の処理または送信前に出力をパイプできます。

./your-script | tr "\r" "\n" | mail

これにより、すべてのキャリッジリターンが改行文字に変わります。

crontabでも同じ効果が得られます。

* * * * 2 /path/to/your-script --args | tr "\r" "\n"

答え2

問題はmailxポケットベルの設定にあったことがわかりました。more以前に使用されていたless(エスケープされた)間に何らかの理由で使用が始まります。more再接続すると、以前の動作lessが復元されました。

関連情報