Provided by: hxtools_20231224-2ubuntu1_amd64 bug

Name

       pesubst — perl-regexp stream substitution

Syntax

       pesubst [-f] [-s pattern] [-d pattern] [-m modifiers] file...

Description

       pesubst can substitute strings in streams and files, and does so by using the Perl engine.
       It obsoletes sed(1) for simple substitution tasks.

Options

       -f     Fill the replacement string with NULs to bring it up to the size  of  the  original
              string.

       -s pattern
              Source  pattern  to  search  for  in  files.  This  can  be  any valid Perl regular
              expression. Files are slurped in as a whole, so matching across newlines should  be
              no problem (with the -ms flag).

       -d pattern
              Destination  (replacement)  string. This can be any valid string Perl accepts.  For
              details see the perlre(1) manpage.

       -m modifiers
              A string of modifiers to apply to the regex. See below.

Modifiers

       e      Evaluate the right side as an expression.

       g      Replace globally, i.e., all occurrences. This is always enabled in pesubst.

       i      Do case-insensitive pattern matching.

       m      Treat string as multiple lines. That is, change "^" and "$" from matching the start
              or  end  of the string to matching the start or end of any line anywhere within the
              string.

       o      Compile pattern only once.

       s      Treat string as single line. That is, change "." to match any character whatsoever,
              even a newline, which normally it would not match.

       x      Extend your pattern's legibility by permitting whitespace and comments.

Examples

       Change all occurrences of foo (case-insensitive) to bar:

            pesubst -s foo -d bar -ms myfile

       Change all Shell-style comments into C++ ones:

            pesubst -s '^#' -d // -mm myfile

       Using both the "m" and "i" flags:

            pesubst -s '^#INCLUDE\s+' -d '#include ' -mmi myfile.c

See also

       hxtools(7), pegrep(1)