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.

link|improve this question

67% accept rate
feedback

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!

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

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

link|improve this answer
feedback

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

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

Your Answer

 
or
required, but never shown

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