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]  [-A|--across]  [-h|--help]	 [-V|--version]	 <FIND>	  <RE-
       PLACE_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

       -A, --across
	      Process each input as a whole rather than	line by	line. This al-
	      lows patterns to match across line boundaries but	uses more mem-
	      ory and prevents streaming

       -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 -F '((([])))'	''
	      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'
	      cmd: cargo, channel: nightly, subcmd: watch

       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+15.1.quarterly>

home | help