Hacker News new | ask | show | jobs
by isxek 3531 days ago
If you means something that searches for files within any directory, I think the best so far I've used was Everything (https://www.voidtools.com/). Lightweight, fast, and really simple UI.

I'm still looking for a Linux equivalent (I'm currently using a shell wrapper for `ag --depth 0 -g <pattern> <directory>`.)

5 comments

> I'm still looking for a Linux equivalent

You mean `locate`? Package name in Debian is mlocate.

I don't know ag and it's not a package in Debian.

That said, I agree that Everything is a must-have on Windows. I don't understand how Microsoft's own search engine is so incredibly crappy (and has been since, what, Windows 95?) while Everything is a 200KB binary that does it perfectly.

> I don't know ag and it's not a package in Debian.

You're in for a treat then: the package name is "silversearcher-ag".

Next time you want to grep a directory of files: instead of grepping it, pause, remember this comment, install it and then do "ag <searchterm>" instead.

It's quite a bit faster. Well, lots faster.

Interesting. This probably the first utility in Rust I'm aware of that looks like it might belong on a production system (other than "cargo" and other rather excellent rust tooling). Nice way to show off rusts regular expression engine too.
Thanks! I installed it a and aliased grep to 'echo Try ag'.
May as well alias grep to ag XD
Thought of that, but a quick glance over ag's man page shows there are options that I commonly use with grep that work differently with ag. I don't want to mess something up so I'd rather just show myself a reminder.
> I don't know ag

Fair enough, it's been discussed here previously.

> and it's not a package in Debian.

It most certainly is:

https://packages.debian.org/search?keywords=silversearcher-a...

Upstream: https://github.com/ggreer/the_silver_searcher

> It most certainly is:

It, referring to "ag", most certainly isn't. Under another name perhaps, but with an amazing name such as "ag", `apt-cache search ag` gives 38000+ results.

> Fair enough, it's been discussed here previously.

I suppose either my memory isn't infallible or I did not refresh HN often enough that day.

Anyhow that's not what I was remarking on. I was giving an alternative program to use on GNU/Linux systems with similar functionality to Voidtools' Everything. But nobody seems to notice that.

It's small wonder you didn't realize the tool is called "the silver searcher" just because the binary is named after the chemical symbol for silver ("Ag"), nor that it has been discussed here - it's been a while, and I'm not sure if it ever made it to the front page (but ack might have, and ag might have made an appearance) - apparently it's been four-five years(there's been some reposts): https://news.ycombinator.com/item?id=3835901

As for the package, you might want to try "apt-file":

  sudo apt install apt-file
  apt-file update 
  apt-file find bin/ag
It makes finding some of the less search-friendly packages a little easier, if you know the binary or config file name. I think it'll also work as a poor man's "provides", but I haven't tried:

  apt-file find /etc/alternatives/mail
As for something like everything, there was a "spree" of tools that tried to provide something similar, but I'm not sure of their current state -- I tried looking for some a while back and got the impression they were all more or less abandoned (with the notable exception of locate/mlocate and the similar apropos/mandb for man pages).

It would appear mlocate is most like everything, in that it only index on name/path, not contents.

Of the few I found only "tracker" seemed to be around:

https://wiki.gnome.org/Projects/Tracker

Other than unity's "dash" that is:

https://help.ubuntu.com/16.10/ubuntu-help/unity-dash-files.h...

Finally, there's "recoll":

http://www.lesbonscomptes.com/recoll/

I use Everything as well, it's really useful, very focused.

It may seem "lightweight" in a modern desktop machine, but I believe the way it works is: it keeps the index of your entire filesystem in RAM at all times. And it continuously monitors that filesystem to keep the index updated. It's kind of brute-force, really. I can think of some ways that could get out of hand and not seem so lightweight.

Regardless, the gap between what Everything can do and what the built-in File Explorer search can do is an embarrassing canyon, and I can't believe MS hasn't even fixed the built-in search enough to make it function correctly let alone quickly at this late stage.

I've been happy with Everything, too. Everything is good because it searches by multiple substrings, so you can be precise about what you're looking for. (The much-loved fuzzy search, on the other hand, in my experience returns results that might as well be random, until you type so much of what you're looking for that you might as well have typed the whole thing.)

For searching file content I quite like Agent Ransack aka File Locator: https://www.mythicsoft.com/agentransack - main thing I like about it is that it's very quick and easy to see the content results from a subset of the file search results.

Listary is another good one for this, and it chains search results with common actions. From any explorer window or desktop you can just start typing to find stuff.
And today I discovered a tool that solves a frustrating problem in Windows, thanks!