Super User is a question and answer site for computer enthusiasts and power users. 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 am trying to get the output of an ls command and search that list for a regex expression... Effectively, it will search every file name in the folder for the regex expression. I put together a simple example of what I thought was the right way to do this, but clearly was not:

$ ls ~/Desktop/testFolder | grep -rn "contents"

I know, I can make a script for this where I pipe the output from the 'ls' to a text file, and then grep that.. but I am asking how to do this WITHOUT a multistep process or script.

share|improve this question
up vote 3 down vote accepted

Your command should work, although you do not need the -r option in the grep command. What happens when you try running your command that is not what you expected?

ls /path | grep string

The above works for me.

You could also try looking at the find command:

find ~/Desktop/testFolder -iname '*contents*'

Hope this helps and good luck!

share|improve this answer
thanks a lot guys! and those were some fast damn responses! – FALL3N Jun 30 '11 at 1:25

Your only mistake is setting the -r option on grep.

share|improve this answer

Do you want: ls ~/Desktop/testFolder/*contents*

share|improve this answer
yes, but I understand how a regular 'ls' works, no problems there – FALL3N Jul 7 '11 at 4:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .