如何刪除文件的最後一行而不讀取整個文件或在任何臨時文件中重寫它。我不想使用sed,因爲它將整個文件讀入內存。 最後有一個空行。我想刪除它並只將更改保存到該文件,以便文件最後不包含空行。從文件中刪除最後一個空行並保存文件
0
A
回答
1
我能想到的最簡單的方法是:
sed -i '${/^$/d}' filename
編輯只刪除空白端線。
您唯一的選擇不使用sed
不會讀取整個文件是stat
該文件獲取大小,然後使用dd
跳到最後纔開始閱讀。但是,告訴sed
只能在最後一行操作,基本上就是這樣。
0
看看
Remove the last line from a file in Bash
編輯:我測試
dd if=/dev/null of=<filename> bs=1 seek=$(echo $(stat --format=%s <filename>) - $(tail -n1 <filename> | wc -c) | bc)
,它是你想要
1
簡單的sed命令來刪除最後一行的內容:
sed '$d' <file>
這裏在sed $是最後一行。
你可以試試awk命令:
awk 'NR > 1{print t} {t = $0}END{if (NF) print }' file
使用cat:
cat file.txt | head -n -1 > new_file.txt
相關問題
- 1. 從每個文本文件中刪除最後一個空行
- 2. 從文件中刪除最後一個空行
- 3. batfile - 如何刪除文件中的最後一行,空行?
- 4. 從文件中刪除第一行和最後一行
- 5. 從文本文件中刪除最後一行
- 6. 刪除文件的最後一行
- 7. 刪除每個文件的第一行後合併CSV文件
- 8. 從多個文本文件中刪除第二行最後一行
- 9. 刪除文件夾中文件名的最後一個字符
- 10. 蝙蝠文件刪除文件中的最後一個字符?
- 11. 從一個月中刪除所有文件,但是刪除最後一個
- 12. 在刪除文本文件中的行後刪除空白VB6
- 13. 從另一個文件中的文本文件中刪除行
- 14. 從記事本++文件中刪除最後一行
- 15. 從文件中刪除空行
- 16. 從文件中刪除空行
- 17. 從txt文件中刪除空行
- 18. 如何從文本文件中刪除第一行和最後一行c#?
- 19. 從多個.txt文件中刪除最後6行
- 20. 如何刪除XML文件中的重複值並保留最後一個?
- 21. 從文本文件中刪除一行?
- 22. 從文本文件中刪除一行
- 23. 合併csv文件但刪除最後一行和多列
- 24. 以「彙總」信息刪除CSV文件中最後一個行
- 25. Android - 刪除.txt文件中最後一個不完整的行
- 26. 從路徑中刪除最後一個文件夾
- 27. 從txt文件中刪除最後一個字符
- 28. 刪除文本文件中的最後一行
- 29. 如何刪除Java中文本文件的最後一行?
- 30. 從文件中的每一行中刪除最後一個字符串
SED -i -u ... -u意味着* *緩衝,因此降低了內存使用 – NeronLeVelu
在這種情況下,由於你跳到最後,你肯定會想要使用緩衝讀取來加速進程,特別是對於大文件。 –
緩衝速度寫入過程但問題是這裏的內存不處理速度說OP – NeronLeVelu