Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I like the command-t script in vim editor that is able to intelligently and incrementally search for files. Is there some similar program that is able to search from shell? It would be great if it would support tagging mode, so that I could search based on tags. e.g.

$ fnd -t pictures,cars

gives me the list of possibilities and I can type tab and shift-tab and select the picture I want
$ fnd -t pictures,cars,porsche
one tag added will narrow the results

I will summarize it : The application should support effective searching. Effective means it supports advanced features as as incremental, search in content, tagging or other clever technique.

thank you for suggestions

share|improve this question
Your description is a bit vague. What do you mean by incremental: that you can start acting on results before it's searched the whole space? Where do the tags come from, who enters them, where are they stored? What kinds of searches do you want to do: on text contents, or also (apparently) other things (archive contents, contents of word processor documents, text in different encodings, …)? How large is the search space (the disk cache will speed up refined searches for a medium-sized space, but you'll need fancier stuff for a large space)? Do you want to build an index beforehand? – Gilles Jun 15 '11 at 8:30
incremental means that the search results change while typing. You can see example in the question where adding one tag narrowed the searched results. I'm not going to implementation in this question but storage is certainly important in that application. The application could offer one or more kinds of intelligent searching but should be incremental search and locate desired files easily (so we don't need to type all path). Search space could be whole partition (similarly as command-t which is really clever). – xralf Jun 15 '11 at 8:59

This might not be quite the simple solution you're looking for, but zsh might do what you're looking for. It's a full-on replacement for bash, but features better tab-completion and a lot of other nifty features.

share|improve this answer
I'd like to try it. Please write me the commands and switches to use. – xralf Jun 21 '11 at 7:03
ZSH does a lot of nifty things and you can configure it to do more but at the end of the day it's a shell, not a find tool or search client. I don't think this is relevant to the question, although the question is pretty vague about what is supposed to happen. – Caleb Jun 21 '11 at 19:22

There's a search tool on Mac devices named "spotlight".I loved this tool and this is what I found. Mutate is a great application to search throw your computer and web, translate the words using Google and giving some commands like "kill", "Shutdown/Restart/Logout" and "Open URLs in browser".

I love this application mostly because you can customize it by bash scripting :) .

To install Mutate in Ubuntu 15.04/14.10/14.04/Linux Mint 17.1/17 via PPA:

sudo add-apt-repository ppa:mutate/ppa
sudo apt-get update
sudo apt-get install mutate

you can find the scripts here:


This is the source and I think it will be helpful.

share|improve this answer

You can use find for searching files. The -exec option allows you to search for tags (for example find dir -exec getfattr -nuser.tagfoo ';'). You need filesystem suport for getfattr/setfattr. You can also search based on content with grep -r foo dir or find dir -exec grep -q foo ';' -exec getfattr ... if you want to combine it with "tags".

share|improve this answer

If you are using a Mac, then you have what you need with:



Would also do what you seem to want, although not as well.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.