Take the 2-minute tour ×

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
add comment

3 Answers

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
add comment

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

share|improve this answer
add comment

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
add comment

Your Answer


