Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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

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 only mistake is setting the -r option on grep.

share|improve this answer
add comment

Your Answer

 
discard

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.