Ruby和SHELL中如何遍历指定目录的文件
生活随笔
收集整理的這篇文章主要介紹了
Ruby和SHELL中如何遍历指定目录的文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在工作中我們有在Ruby和SHELL中如何遍歷指定目錄的文件的需求,這個應該如何來實現呢?網上的方法也非常之多,我們可以拿來參考參考,如下邊的traverse.rb文件內容所示:
#!/usr/bin/ruby? def?traverse(path)if?File.directory?(path)puts?"Dirs:"?+?pathDir.foreach(path)?do?|file|if?file?!=?"."?and?file?!=?".."traverse(path?+?"/"?+?file)endendelseputs?"Files:"?+?pathendendtraverse("d:/vmware")其實ruby中已經定義了Find.find方法來處理這種情況,上面的ruby程序可以用其方法來實現,代碼顯得更為整潔,如下所示:
#!/usr/bin/ruby? require??'find' Find.find("/usr/local/src")?do?|filename|p?filename end
我們還可以利用Find.find方法來輸出ruby中可用的rb庫,如下所示:
如果我們用shell腳本來實現類似需求,比如想遍歷/usr/local/src目錄里面包含的所有文件(包括子目錄),那么應該如何實現呢?這里也會用到遞歸的思想,腳本如下:
總結
以上是生活随笔為你收集整理的Ruby和SHELL中如何遍历指定目录的文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux学习之六-Yum命令的使用
- 下一篇: Ruby Shanghai 2014年终