README

January 3, 2021 · View on GitHub

RWC(1) General Commands Manual RWC(1)

NAME rwc – report when changed

SYNOPSIS rwc [-0cdep] [path ...]

DESCRIPTION rwc takes a list of files or directories, watches them using inotify(7), and prints each file name as absolute path when it changed. If path is a single dash (‘-’) or absent, rwc reads file names from the standard input.

 Watching a directory will result in watching all changes to files which
 resides directly in that directory.

 The options are as follows:

 -0      Read input filenames seperated by NUL bytes.  Likewise, output
         filenames seperated by NUL bytes.

 -c      Detect all file creations, including open(2) with O_CREAT,
         mkdir(2), link(2), symlink(2), and bind(2).  In this case,
         created files are prefixed by ‘+ ’ (that is, a plus and a space).
         This option has the side-effect of printing files twice that are
         created and immediately changed after.

 -d      Also detect file deletion.  In this case, deleted files are
         prefixed by ‘- ’ (that is, a dash and a space).

 -e      Exit after the first reported change.

 -p      Pipe mode; don't report changes while the standard output pipe is
         not empty.  Use this to pipe rwc to programs which read standard
         input slowly.

EXIT STATUS The rwc utility exits 0 on success, and >0 if an error occurs.

EXAMPLES Watch all source files and run make(1) when something changes:

       % git ls-files | rwc -p | xe -v -s make

 Make a sound when a download is done:

       % rwc ~/Downloads | xe -s 'mpv ~/.sounds/bing.wav'

SEE ALSO entr(1), inotifywatch(1), wendy(1)

AUTHORS Leah Neukirchen leah@vuxu.org

CAVEATS rwc is limited by some restrictions of inotify(7). You can only watch files and directories you can read, and the amount of inotify descriptors is limited. Watching directories is not recursive.

 rwc only uses one watch descriptor per directory, and filters file names
 itself.  This allows tracking files which get safely written by unlink(2)
 and rename(2), and also watching files which don't exist yet.

 Many tools like to create temporary files in their working directory,
 which may distort the output.

LICENSE rwc is in the public domain.

 To the extent possible under law, the creator of this work has waived all
 copyright and related or neighboring rights to this work.

 http://creativecommons.org/publicdomain/zero/1.0/

Void Linux January 3, 2021 Void Linux