Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
pesubst(1)			     hxtools			      pesubst(1)

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  char-
	    acter whatsoever, even a newline, which normally it would not match.

     x	    Extend  your  pattern's legibility by permitting whitespace and com-
	    ments.

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)

hxtools 			   2008-02-06			      pesubst(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pesubst&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help