可能是一個簡單的問題,但我需要刪除特定行號後的文件內容?所以我不想保留第一行例如5行並刪除文件的其餘內容。我一直在尋找一段時間,找不到一種方法來做到這一點,我是一名iOS開發人員,所以Ruby不是我非常熟悉的語言。在ruby中刪除特定行後的文件內容
3
A
回答
2
我不知道從文件中刪除任何方法,所以我第一個想法是讀取文件,然後回寫。是這樣的:
path = '/path/to/thefile'
start_line = 0
end_line = 4
File.write(path, File.readlines(path)[start_line..end_line].join)
File#readlines
讀取文件,並返回字符串,其中每個元素是文件中的一個線的陣列。然後你可以使用subscript operator with a range作爲你想要的行
這對於大文件來說不會很高效,所以你可能想要優化,如果這是你將要做的事情。
5
這就是所謂的truncate。該截斷方法需要之後,一切都被切斷字節位置 - 與File.pos
方法提供了這一點:
File.open("test.csv", "r+") do |f|
f.each_line.take(5)
f.truncate(f.pos)
end
從File.open的「R +」模式下讀寫,而無需現有文件截斷至零大小,就像「w +」一樣。
File.open的塊形式確保塊在文件結束時關閉。
相關問題
- 1. 從文件中刪除特定的行
- 2. 如何刪除文本文件中奇數索引行上的特定內容
- 3. 清除特定行中的內容vba
- 4. 刪除python中文件中特定行的特定字母
- 5. Powershell:獲取文件夾的內容,刪除特定文件,驗證文件是否被刪除/存在
- 6. java FileWriter,定期刪除文件內容
- 7. C++清除特定位置後文件的內容
- 8. 如何刪除docx4j中特定內容的行
- 9. 從備註字段的內容中刪除特定行
- 10. 如何從Ruby on Rails的文本文件中刪除特定的行?
- 11. 刪除文件中的行 - Ruby
- 12. 刪除文件中的所有內容
- 13. 刪除特定字符後的所有內容
- 14. 如何刪除特定字符或符號後的內容
- 15. 在php中刪除特定文件
- 16. 在文件中的特定字符串後附加內容?
- 17. 刪除特定行從文件
- 18. 重命名Powershell中的文件刪除「_」後的所有內容
- 19. 在Python中刪除文件中的特定行
- 20. 如何刪除Ruby中的最後一行文件?
- 21. 只在特定行中替換文件中的內容
- 22. 刪除文件中的特定單詞
- 23. 從Java中的文本文件中刪除特定行
- 24. 從文本文件中刪除包含特定文本的行
- 25. 如何使用xpath刪除特定文本後的所有內容
- 26. 刪除文件夾內的所有文件,但刪除最後?
- 27. Crystal Reports在最後一次出現特定字符後刪除所有內容
- 28. 文件Ruby的空行不會刪除
- 29. 使用sed從文本文件中刪除特定的行號?
- 30. Python,刪除文件中的特定長行文本