亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ruby和SHELL中如何遍歷指定目錄的文件

發布時間:2020-04-09 18:25:13 來源:網絡 閱讀:6887 作者:撫琴煮酒 欄目:編程語言

在工作中我們有在Ruby和SHELL中如何遍歷指定目錄的文件的需求,這個應該如何來實現呢?網上的方法也非常之多,我們可以拿來參考參考,如下邊的traverse.rb文件內容所示:

#!/usr/bin/ruby 
def traverse(path)
    if File.directory?(path)
      puts "Dirs:" + path
      Dir.foreach(path) do |file|
        if file != "." and file != ".."
          traverse(path + "/" + file)
        end
      end
    else
      puts "Files:" + path
    end
  end
   
traverse("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庫,如下所示:

#!/usr/bin/ruby 
require "find"

def printrb
  $:.each do |dir|
  	next if dir == "."
  	next if dir == ".."
  	Find.find(dir) do |f|
  		if f =~ /\.rb$/i
  			puts f 
  		end
  	end
  end
end 

printrb

如果我們用shell腳本來實現類似需求,比如想遍歷/usr/local/src目錄里面包含的所有文件(包括子目錄),那么應該如何實現呢?這里也會用到遞歸的思想,腳本如下:

#!/bin/bash  
function traverse(){
for file in `ls $1`
      do
         if [ -d $1"/"$file ]
         then
            traverse $1"/"$file
         else
            echo $1"/"$file 
         fi
      done
   }

traverse "/usr/local/src"
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

舟曲县| 西贡区| 梓潼县| 和静县| 龙门县| 开平市| 安达市| 西乡县| 镇赉县| 滦平县| 恩施市| 噶尔县| 普洱| 嫩江县| 潮安县| 沙雅县| 沾化县| 织金县| 酉阳| 九龙城区| 成武县| 彰武县| 金湖县| 福鼎市| 连城县| 库伦旗| 辉南县| 星座| 朝阳区| 清原| 化隆| 伊吾县| 青神县| 普宁市| 正蓝旗| 石楼县| 佛冈县| 天津市| 东乡县| 阿勒泰市| 庆云县|