{"data":{"slug":"sd","name":"sd","tagline":"MIT intentional sed subset — search & displace","category":"rust","categoryName":"Rust","url":"https://github.com/chmln/sd","github":"https://github.com/chmln/sd","pricing":"open-source","hook":"sd is find-and-replace for humans when GNU sed flag archaeology is the bug, not the feature.","whatsGood":"MIT. chmln/sd. Literal-first (and regex) search & displace with a short CLI, preview (`-p`), and sensible escaping. Complements ripgrep/fd for the replace step after you found the hit. Source github.com/chmln/sd.","theCatch":"Vs sed: intentional *subset*, not a full sed dialect — no sed scripts, hold space, or every GNU extension. Vs ripgrep (search) and fd (names): sd *rewrites*, it does not search a tree or find filenames. Keep sed for the ancient one-liners that already work.","verdict":"MIT sed subset. Free forever; replace text without relearning sed.","addedAt":"2026-09-12","featured":false,"domain":"Rust","subSpecialty":"Terminal","subcategory":"Terminal","tags":["cli","self-host","permissive","stale"],"capabilities":["replace","cli","sed"],"surfaces":["CLI","Self-host"],"ecosystem":["Rust","Multi-platform"],"licenseModel":"OSS/MIT","githubStars":7391,"starsPerWeek":18,"access":"free","archived":false,"repo":{"createdAt":"2018-12-23","pushedAt":"2026-02-25","license":"MIT","archived":false,"checkedAt":"2026-10-19"}},"related":[{"slug":"rust-lang","name":"Rust","tagline":"Systems programming without the footguns"},{"slug":"tokio","name":"Tokio","tagline":"Async runtime for Rust"},{"slug":"axum","name":"Axum","tagline":"Web framework from the Tokio team"},{"slug":"actix-web","name":"Actix Web","tagline":"Fast Rust web framework"},{"slug":"serde","name":"Serde","tagline":"Serialization framework for Rust"}],"links":{"self":"/api/gems/sd","html":"/gems/sd","markdown":"/gems/sd.md","category":"/api/gems?category=rust","categoryPage":"/stacks/rust"}}