2011-02-10 105 views
2

我想在包含字符串s的所有子文件夾中找到所有帶有擴展名x的文件,我該怎麼做?某些文件上的grep

grep -nr s。*。x ?????

德克

+0

對不起,我不是100%準確的,我確實想要的文件的內容,我已經制定了 2011-02-10 11:42:17

回答

6

GNU找到

find . -iname "*.x" -type f -exec grep -l "s" {} +; 

如果你有紅寶石(1.9+)

Dir["/path/**/*.x"].each do |file| 
    if test(?f,file) 
    open(file).each do |line| 
    if line[/s/] 
     puts "file: #{file}" 
     break 
    end 
    end 
    end 
end 
1

我首先找到的* .X文件,然後搜索的字符串您有興趣與grep

$ find directory -name "*.x" -exec grep -Hn s {} \; 
  • -name "*.x"遞歸搜索每個文件sufixed與X
  • -exec grep ... {} \;在每個遇到的文件中搜索s字符串。
  • -H被推薦,因爲你不知道哪個文件符合表達式。