← Package directory
Available on winget

Install sd - search & displace

sd is an intuitive find & replace CLI.

Install with winget
winget install --id chmln.sd
Upgrade
winget upgrade --id chmln.sd
Uninstall
winget uninstall --id chmln.sd

About sd - search & displace

sd is an intuitive find & replace CLI.

What's new in 1.1.0

Breaking - #328 Make line-by-line processing the default and add --across / -A (@orion Gonzalez) - sd now processes input line-by-line by default, reducing memory usage and enabling streaming output for stdin - The previous whole-file behavior is still available via --across / -A Improvements - #313 Replace the unescape implementation with a more lenient one (@orion Gonzalez) - Avoids the previous all-or-nothing behavior when escape parsing partially fails - #326 Retain file ownership on atomic writes (@gregory) - Preserves original file uid/gid when replacing files through the atomic write path Docs - #279 Update man page examples for the renamed string literal flag (@philipp Gillé) - #281 Update README for string literal argument changes (@evan Platzer) - #292 Fix capture group example in the man page (@john Careaga) - #299 Add README_zh-CN.md and follow-up note adjustments (@zhangyanming) - #320 Fix missing single quotes in a man page example (@Freimut Diener) Pre-built Releases - (90bc67d) Add Windows ARM64 (aarch64-pc-windows-msvc) release targets (@orion Gonzalez) - (c864c58) Add aarch64-unknown-linux-gnu target to CI and releases (@orion Gonzalez) - #293 Bump svenstaro/upload-release-action from 2.7.0 to 2.9.0 (@dependabot[bot]) Internal - #265 Overall codebase reorganization (@blair Noctis) - Refactors application structure, error handling, and tests - xtask cleanup and test setup refactors (@gregory, @orion Gonzalez) - Dependency and tooling updates - Bump libc from 0.2.149 to 0.2.155 (@jingyun Hua) - Upgrade assert_cmd and fix clippy warnings (@gregory)

Read release notes

Version history

Version Updated Notes
1.1.0 Unknown Breaking - #328 Make line-by-line processing the default and add --across / -A (@orion Gonzalez) - sd now processes input line-by-line by default, reducing memory usage and enabling streaming output for stdin - The previ...
1.0.0 Unknown Improvements - #115 Do not replace symlink with output file (@SimplyDanny) - Fixes an issue where a symlink would be replaced with a regular file - #124 Fix tests (@Linus789) - Removed displaying the file path when passi...
0.7.5 Unknown 1014135 Add empty-file check for memmep use in stdout [ #76 ]