<story><title>Debian Running on Rust Coreutils</title><url>https://sylvestre.ledru.info/blog/2021/03/09/debian-running-on-rust-coreutils</url></story><parent_chain><item><author>burntsushi</author><text>Yes, this is correct in some sense. I didn&amp;#x27;t set out to create an &amp;quot;incompatible grep.&amp;quot; I set out to build a &amp;quot;better&amp;quot; grep, where &amp;quot;better&amp;quot; could include things like being incompatible.&lt;p&gt;Of course, ripgrep is still ultimately a lot more similar to grep than it is different. Where possible, I used the same flag names and prescribed similar behavior---if it made sense. Because it&amp;#x27;s good to lean on existing experiences. It makes it easier for folks to migrate.&lt;p&gt;So it&amp;#x27;s often a balancing act. But yes, POSIX compatibility is certainly a non-goal of ripgrep.</text></item><item><author>steerablesafe</author><text>It&amp;#x27;s not the point of ripgrep. If ripgrep were only marginally better at common grepping tasks then it could hardly justify not being compatible. It aims to be much better though, so it can justify it well. But not being compatible is not the point or the goal of the project, I believe.</text></item><item><author>adrianN</author><text>Not being compatible is often the point of tools like ripgrep.</text></item><item><author>est31</author><text>The GNU coreutils are the lowest common denominator of most GNU systems, and thus a lot of software targets them including the GNU extensions.&lt;p&gt;Replacements like rg or fd are often not even compatible to the unix originals let alone the GNU extensions. Yes, some of the GNU tools are badly in need of UI improvements, but you&amp;#x27;d have to abandon compatibility with a great deal of scripts.&lt;p&gt;I think both a coreutils rewrite as well as some end user facing software like rg has its place on modern unix systems. I&amp;#x27;m a very happy user of rg! But I&amp;#x27;d like some more respect for tradition by some of those tools. For example, &amp;quot;fd&amp;quot; in a unix setting refers to file descriptors. They should rename IMO.</text></item><item><author>mprovost</author><text>There&amp;#x27;s a great opportunity to not just reimplement the GNU coreutils but to actually rethink them. The way I install a Linux system these days and then immediately download ripgrep or fd reminds me of how the first thing I used to do on a Solaris system was install bash and the GNU coreutils. There&amp;#x27;s a rich history of doing this - BSD Unix started as a bunch of utilities and patches to the AT&amp;amp;T version, it only became a freestanding distro with its own kernel later on. And the GNU coreutils go way back before the Linux kernel - you just installed them on a commercial Unix to make it more usable. In both cases they went beyond just drop-in replacements and started adding lots of new features and flags. Things have been pretty static for a long time so it&amp;#x27;s good to see some innovations coming.</text></item></parent_chain><comment><author>coldtea</author><text>That said, thanks for making ripgrep so good. I use it 100s of times every day for 3-4 years now... (and iirc, it&amp;#x27;s the default engine in VS Code as well).</text></comment>
<story><title>Debian Running on Rust Coreutils</title><url>https://sylvestre.ledru.info/blog/2021/03/09/debian-running-on-rust-coreutils</url></story><parent_chain><item><author>burntsushi</author><text>Yes, this is correct in some sense. I didn&amp;#x27;t set out to create an &amp;quot;incompatible grep.&amp;quot; I set out to build a &amp;quot;better&amp;quot; grep, where &amp;quot;better&amp;quot; could include things like being incompatible.&lt;p&gt;Of course, ripgrep is still ultimately a lot more similar to grep than it is different. Where possible, I used the same flag names and prescribed similar behavior---if it made sense. Because it&amp;#x27;s good to lean on existing experiences. It makes it easier for folks to migrate.&lt;p&gt;So it&amp;#x27;s often a balancing act. But yes, POSIX compatibility is certainly a non-goal of ripgrep.</text></item><item><author>steerablesafe</author><text>It&amp;#x27;s not the point of ripgrep. If ripgrep were only marginally better at common grepping tasks then it could hardly justify not being compatible. It aims to be much better though, so it can justify it well. But not being compatible is not the point or the goal of the project, I believe.</text></item><item><author>adrianN</author><text>Not being compatible is often the point of tools like ripgrep.</text></item><item><author>est31</author><text>The GNU coreutils are the lowest common denominator of most GNU systems, and thus a lot of software targets them including the GNU extensions.&lt;p&gt;Replacements like rg or fd are often not even compatible to the unix originals let alone the GNU extensions. Yes, some of the GNU tools are badly in need of UI improvements, but you&amp;#x27;d have to abandon compatibility with a great deal of scripts.&lt;p&gt;I think both a coreutils rewrite as well as some end user facing software like rg has its place on modern unix systems. I&amp;#x27;m a very happy user of rg! But I&amp;#x27;d like some more respect for tradition by some of those tools. For example, &amp;quot;fd&amp;quot; in a unix setting refers to file descriptors. They should rename IMO.</text></item><item><author>mprovost</author><text>There&amp;#x27;s a great opportunity to not just reimplement the GNU coreutils but to actually rethink them. The way I install a Linux system these days and then immediately download ripgrep or fd reminds me of how the first thing I used to do on a Solaris system was install bash and the GNU coreutils. There&amp;#x27;s a rich history of doing this - BSD Unix started as a bunch of utilities and patches to the AT&amp;amp;T version, it only became a freestanding distro with its own kernel later on. And the GNU coreutils go way back before the Linux kernel - you just installed them on a commercial Unix to make it more usable. In both cases they went beyond just drop-in replacements and started adding lots of new features and flags. Things have been pretty static for a long time so it&amp;#x27;s good to see some innovations coming.</text></item></parent_chain><comment><author>jftuga</author><text>I would love it if --crlf was enabled by default with the Windows version.  This would make using ^ and $ easier.</text></comment>