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

FreeBSD Manual Pages

  
 
  

home | help
sd(1)			    General Commands Manual			 sd(1)

NAME
       sd

SYNOPSIS
       sd    [-p|--preview]    [-F|--fixed-strings]    [-n|--max-replacements]
       [-f|--flags] [-h|--help]	[-V|--version] <FIND> <REPLACE_WITH> [FILES]

DESCRIPTION
OPTIONS
       -p, --preview
	      Display changes in a human reviewable format (the	 specifics  of
	      the format are likely to change in the future)

       -F, --fixed-strings
	      Treat FIND and REPLACE_WITH args as literal strings

       -n, --max-replacements=LIMIT [default: 0]
	      Limit  the number	of replacements	that can occur per file. 0 in-
	      dicates unlimited	replacements

       -f, --flags=FLAGS
	      Regex flags. May be combined (like `-f mc`).

	      c	- case-sensitive

	      e	- disable multi-line matching

	      i	- case-insensitive

	      m	- multi-line matching

	      s	- make `.` match newlines

	      w	- match	full words only

       -h, --help
	      Print help (see a	summary	with '-h')

       -V, --version
	      Print version

       <FIND> The regexp or string (if using `-F`) to search for

       <REPLACE_WITH>
	      What to replace each match with. Unless in string	mode, you  may
	      use captured values like $1, $2, etc

       [FILES]
	      The  path	 to  file(s). This is optional - sd can	also read from
	      STDIN.

	      Note: sd modifies	files in-place by default.  See	 documentation
	      for examples.

EXIT STATUS
       0      Successful program execution.

       1      Unsuccessful program execution.

       101    The program panicked.

EXAMPLES
       String-literal mode
	      $	echo 'lots((([]))) of special chars' | sd -s '((([])))'
	      lots of special chars

       Regex use. Let's	trim some trailing whitespace
	      $	echo 'lorem ipsum 23   ' | sd '\s+$' ''
	      lorem ipsum 23

       Indexed capture groups
	      $	 echo  'cargo  +nightly	 watch'	| sd '(\w+)\s+\+(\w+)\s+(\w+)'
	      'cmd: $1,	channel: $2, subcmd: $3'
	      123 dollars and 45 cents

       Find & replace in file
	      $	sd 'window.fetch' 'fetch' http.js

       Find & replace from STDIN an emit to STDOUT
	      $	sd 'window.fetch' 'fetch' < http.js

				   sd 1.0.0				 sd(1)

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

home | help