Moreutils: A collection of Unix tools that nobody thought to write long ago

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • evenmoreutils

    A collection of command line tools to extend the shell environment.

  • Long time ago, a colleague of mine created "evenmoreutils" : https://github.com/rudymatela/evenmoreutils

  • fstring

    Make searching for text strings easier on Linux :)

  • here's a little wrapper around i made around "find" which i always have to install on every new box i manage ....

    https://github.com/figital/fstring

    (just shows you more useful details about what is found)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • moreutils

    moreutils is a growing collection of the unix tools that nobody thought to write long ago when unix was young. Read-only version of `git://git.joeyh.name/moreutils`

  • Depends on your editor i suppose, but vipe checks the exit code of it [1]. In vim you can exit with an error using :cq

    [1]: https://github.com/pgdr/moreutils/blob/f4a811d0a1fafb3d7b0e7...

  • dmd

    dmd D Programming Language compiler

  • ack3

    ack is a grep-like search tool optimized for source code.

  • My favorite missing tool of all time is `ack` [0]. It's grep if grep were made now. I use it all the time, and it's the first thing I install on a new system.

    [0] https://beyondgrep.com

  • atomicxt

  • mv can't, or, more correctly the rename system call can not.

    rename is an atomic operation from any modern filesystem's perspective, you're not writing new data, you're simply changing the name of the existing file, it either succeeds or fails.

    Keep in mind that if you're doing this, mv (the command line tool) as opposed to the `rename` system call, falls back to copying if the source and destination files are on different filesystems since you can not really mv a file across filesystems!

    In order to have truly atomic writes you need to:

    open a new file on the same filesystem as your destination file

    write contents

    call fsync

    call rename

    call sync (if you care about the file rename itself never being reverted).

    This is some very naive golang code (from when I barely new golang) for doing this which has been running in production since I wrote it without a single issue: https://github.com/AdamJacobMuller/atomicxt/blob/master/file...

  • the_silver_searcher

    A code-searching tool similar to ack, but faster.

  • What about the Silver Searcher? It's even faster than ack

    https://github.com/ggreer/the_silver_searcher

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • ripgrep

    ripgrep recursively searches directories for a regex pattern while respecting your gitignore

  • What about ripgrep? It's even faster than the Silver Searcher

    https://github.com/BurntSushi/ripgrep

  • miller

    Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON

  • The absolute number one Unix tool that should have - and, more to the point, COULD have - been written long ago is mlr.

    https://github.com/johnkerl/miller

    "Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON."

    This should have been part of the standard unix toolkit for the last 40 years.

  • whomst

    Gets user and group info, by any means necessary

  • I tried to prototype my own implementation of `vidir` in Node.JS a while back (not realizing that it existed under this name in moreutils), and I ended up getting derailed after realizing how incomplete Node.JS's support was for getting the group / username corresponding to a G/UID: https://github.com/stuartpb/whomst

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • 5 Developer CLI Essentials

    3 projects | dev.to | 2 Jan 2024
  • Tell HN: My Favorite Tools

    14 projects | news.ycombinator.com | 24 Dec 2023
  • MastoLine - Mastodon in your terminal!

    2 projects | /r/Python | 10 Dec 2023
  • When creating console based applications how do you replicate the following realtime updates:

    4 projects | /r/golang | 7 Dec 2023
  • Ripgrep 14 Released

    10 projects | news.ycombinator.com | 26 Nov 2023