• new interactive utility: pw ("Pipe Watch").

    From Kaz Kylheku@21:1/5 to All on Thu Apr 28 22:35:48 2022
    XPost: comp.unix.shell

    Hi All,

    I wrote an interative utility called "pw". This works similarly to a
    pager:

    yourcommand | pw

    Man page and git repo: https://www.kylheku.com/cgit/pw/tree/pw.1

    Just like an interative pageer such as "less", Like a pager, pw reads
    lines from standard input and provides a display. However, it has
    a different paradigm. "pw" keeps only a small FIFO buffer of lines
    in memory (default 15), which is continuously updating. You cannot go
    back in history. "pw" updates the display whenever a period of input
    inactivity occurs (default 1s), or else once every lnog interval (10 s).

    Platforms: I built this on Solaris 10, GNU/Linux, Mac OS. It compiled
    on OpenBSD, but something is wrong. The tiny Makefile needs gmake.

    "pw" offers

    - horizontal scrolling through long lines (h, l keys or arrows).
    - suspend/resume: freeze the display, while the FIFO keeps running.
    - Vi-like commands:
    :w file # save display to file
    :a file # append display to file
    :! cmd # pipe display to command

    - Built in "grep stack":
    :g regex # allow only lines matching regex into the FIFO
    :v regex # allow only lines not matching regex into the FIFO
    - patterns accumulate into a stack:
    :r # pop most recent pattern from stack
    :r! # pop all patterns

    - trigger mode (like a scope!) to "freeze" recurring patterns:
    /pattern # synchronize bottom line in display to pattern
    ?pattern # synchronize top line in display to pattern

    - history recall and editing for : commands and /, ? trigger
    patterns. (Ctrl-P, Ctrl-N or arrows).
    - very basic editing: backspace, Ctrl-W, Ctrl-U.

    To get started, try:

    tcpdump -i <if> | pw

    you will be surprised at how you can drill down into things.

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)