如何使用ruby替换文本文件或xml文件的第一行?我在复制奇怪的xml API时遇到问题,并且在创建XML文件后需要编辑文档指令。奇怪的是,我必须这样做,但在这种情况下,这是必要的。用ruby替换文件的第一行或第n行
0
A
回答
1
有几种不同的方法可以做到这一点:
使用
ARGF
(假设你的Ruby程序需要一个文件名作为命令行参数)ruby -e "puts ARGF.to_a[n]" yourfile.xml
打开文件定期读取
n
行File.open("yourfile") { |f| line = nil n.times { line = f.gets } puts line }
这种方法在内存上的密集程度较低,因为一次只考虑一条线,这也是最简单的方法。
使用
IO.readlines()
(如果整个文件将装入内存只会工作!)IO.readlines("yourfile")[n]
IO.readlines(...)
将读取你的文件中的每一行到一个数组。
凡n
在上述所有例子是nth
行的文件。
3
如果您要编辑XML,请使用专门为此任务设计的工具。 sub
,gsub
如果被操纵的XML不在你的控制之下,那么正则表达式不是很好的选择。
使用Nokogiri解析XML,找到节点并更改它们,然后发出更新的XML。
有很多例子显示如何做到这一点,再加上Nokogiri网站上的教程。
相关问题
- 1. 使用sed替换文本文件中的第一行
- 2. 阅读Ruby中文件的第一行
- 3. 用其内容的第一行替换文件的名称
- 4. 替换Java中的第一行文本文件
- 5. 只在文本文件的第一行替换某个元素
- 6. MATLAB:如何读取文本文件的每一行第N行?
- 7. R:第(n + 1)行第n行第m + 1列与第(n + 1)行第m列之间的日期差
- 8. AWK命令从文件1更换第n个领域在第n行到file2
- 9. 替换第一行中的值
- 10. 删除从第N行到第N行vim的行
- 11. 如何替换Java中的大文件的第一行?
- 12. 用文件名替换unix文件最后一行的第一个字符
- 13. 从文件中替换第一行文本
- 14. 从多个文件的第一行替换字符串
- 15. 替换第一行并保存到Matlab中的文件?
- 16. 在Android中替换文件的第一行
- 17. 如何在文件的第一行插入新行字符(\ n)?
- 18. 用sed替换第n个字符
- 19. ActiveRecord - 获得第N行到第N + 10行的查询结果
- 20. Java,是否可以用一个字符串替换文件的第N行而不创建临时文件?
- 21. 比较SQL Server中的第一行和第n行
- 22. 在最后一行之前附加文件第n行
- 23. 批处理,读取第n行到第m行的文本文件
- 24. 打破第N次执行一行
- 25. 丢掉第一行和最后n行
- 26. 用SQL选择第n行
- 27. 得到文件第N行解析另一个文件
- 28. 替换第n次出现的单词
- 29. 按行数选择第一个第n行
- 30. imagettftext \\ n换行符第2部分
请发布代码不起作用,以便我们可以看到你正在尝试完成的任务。 – 2013-02-10 16:35:59
您是否尝试修改磁盘上的文件,或者读取内容,然后在使用它之前修改特定行? – Phrogz 2013-02-10 16:41:36
@Phrogz无论哪种方式最有效。 – holaSenor 2013-02-12 02:46:39