emv is a tool for mass-renaming files with a text editor. It can perform two pass renaming, link creation, file list splitting, and link target editing. emv logs its actions as shell-script-style mv commands in case you want to undo them. It is quite capable when used with the Vim text editor's visual block changes. emv can also be used non-interactively by providing a Perl expression for renaming files. It's especially useful if you want to see all the files at once and want to think about their names while editing and changing whole groups of files.
Grep.pm is a much-modified fork of tcgrep. It understands context, matching from the start or end of a file (with a line count or byte count), and features size limits and highlighting. It extends matching to boolean expressions, structuring regular expressions, or even arbitrary pieces of Perl code. It can perform basic stemming and synonym-expansion in regular expressions (using expansyn). It also handles \0-lines, paragraphs, file slurping, directory recursion, and compressed files. It can act either as a Perl module or a command-line program. Grep.xchange is a support program taking grep or Grep.pm input and applying an expression at each grep match to the files specified in the grep output. This expression can be arbitrary Perl modifying e.g. just the line of the match with s///g, or operate against the current pos() position in the whole file. Grep.xchange --modified goes one step further and replaces the matched lines with the (edited) text from the grep output. Changes are logged in diff -u format and can be revoked/redone with patch.
sfre (system flight recorder editor) is a script that wraps a text editor or any arbitrary command and implements logging, file locking, and change tracking for the command executed. It is meant for helping system administrators manage a system in tandem without interfering with each other.
tagls is a tool that matches file names using boolean expressions made of tags and regular expressions. It handles searching in file lists with word boundaries for "tags", stemming and synonym expansion for both tags and regular expressions, and boolean expressions over lists of tags or regular expressions. It can match against either the file name or the file's content. The output can be unsorted, sorted by name, or sorted by relevance.
waitcond is a script to specify a combination of events using boolean expressions over various events. It can periodically grep in files, wait for the (dis)appearance of files or processes, wait for certain CPU/net/disk idle values, or wait for an idle tty. waitcond is meant to be combined with some notification tool or system.
Note that the changes from version 0.2.2 to .32 only deal with CPAN syntactic sugar and POD - they don't change actual code.
There's also a small demo script turning dbus-monitor into a grep/tail for a single dbus-message for dealing with DBUS-based events (such as HAL, Ubuntu desktop notifcations or a ping). This al...
Note that emv logs all renames as shell statements to its UNDO log. To undo renames, just reverse the lines in the log and run the resulting shell script.
Note that Grep.xchange maintains an UNDO log in diff -u format. Thus patch -u < LOG can be used to undo the change for all files involved. Or with -R you can apply the same changes to another s...