Ruby搜索和替换文件

时间:2010-07-17 21:14:35

标签: html ruby replace

我正在尝试编写一个ruby脚本,该脚本将查看HTML文件的目录及其子目录,打开这些HTML文件并在结束标记上方插入以下行:

<link rel="stylesheet" href="styles.css" type="text/css" />

我正在尝试用Ruby来做这件事,因为它是我熟悉的唯一语言,但可以访问几乎任何语言。有人可以帮忙吗?

干杯

EEF

1 个答案:

答案 0 :(得分:4)

def find_and_replace(dir)
  Dir[dir + '/*.html'].each do |name|
    File.open(name, 'r+') do |f|
      new_file = f.read.sub /^( *)(<\/\s*head>)/, %Q(\\1  <link rel="stylesheet" href="styles.css" type="text/css" />\n\\1\\2)
      f.truncate 0
      f.write new_file
    end
  end
  Dir[dir + '/*/'].each(&method(:find_and_replace))
end

find_and_replace '.'