打开文件,读取行,找到某一行并在ruby中追加一个字符串到末尾
问题描述:
所以我想读入我的.bash_profile并将一个字符串附加到PATH中。打开文件,读取行,找到某一行并在ruby中追加一个字符串到末尾
我应该打开文件和每行读取,直到我找到我想要的然后替换?或者先阅读所有内容?
File.open("/root/.bash_profile", "w+") do |file|
while line = line.gets
if line =~ /^PATH/
Not sure how to append
end
end
答
的w+
模式下对文件删除所有内容(我发现这在试图修改其源脚本)。如果您希望能够编写但保留内容,请改用r+
模式。
注:seing您的问题后,为什么你能不能行追加到此效果bash的配置文件?:
PATH=/some/path:$PATH
还是将无法正常工作的结束?因为该代码很简单:
f=File.new("~/.bash_profile", "a+")
f.puts "PATH=/some/path:$PATH"
这可以很好的工作。
你为什么不尝试一下? – 2012-02-14 18:11:31
甚至不知道我会为此使用Ruby。但你到目前为止有什么?对于一个相对较小的文件,为什么不读一遍呢? – 2012-02-14 18:20:15
需要使用红宝石,因为它是一个更大的脚本的一部分,并在工作中走向厨师,所以想用红宝石工作所有脚本。无论哪种方式,我现在有这个,只是擦除文件。我将编辑我的帖子 – Danny 2012-02-14 18:24:25