デフォルトでは、増加するログファイルを探して検索して追跡したいと思います。sed
フィルター後。テストtail -f
するために最初に組み合わせsed
をless
試みましたが、役に立ちませんでしたtail -f
。less +F
tail -f file | less +F
Ctrl- +を押してC尾の追跡を停止するまでlessは実行されません。less
オプションは-B -b 1
役に立ちません。less +F -f <(tail -f file)
同じ振る舞いをしています。
私が思ったよりも良くて簡単な解決策を知っている人がいたら、とても感謝します。
答え1
直接配管ができず、一時ファイルで接続してみましたtail -f
。ついに次のような結果が出ましたsed
less +F
function lessx {
[ -f "$1" ] || { echo "First argument must be a file"; return 1; }
local tmpfile=$(mktemp /tmp/"$(basename "$1.XXX")")
[ -f "$tmpfile" ] || { echo '`mktemp` failed'; return 1; }
tail -f "$1" | stdbuf -i0 -o0 sed 's:\\\?\\n:\n:g' > "$tmpfile" &
less +F "$tmpfile"
kill %% # kill the tail pipeline, after less exits
rm "$tmpfile"
}
私が望むものよりも複雑ですが、これは行われます。私のSunOSはtail
それを理解していないので、パイプを手動で--pid
シャットダウンします。tail