測試用的文字檔案800m
1.用sed解決,此法最易想,但也是最笨的乙個,
解決方法來自問題的提出者:
sed -e '$d' input.file > output.file
用time測試了一下,效率是相當的低!
real 2m51.099s
user 2m1.268s
sys 0m4.260s
2.用head解決,此法比sed有乙個質的的提公升,提公升來自增大了快取,不過依然沒有抓住問題的本質,還是做了不少無用功!解決方法來時cu上的熱心網友。
head -n-1 input.file > output.file
real 0m23.687s
user 0m0.212s
sys 0m4.668s
3.用vim解決,此法很別處心裁,這應該是遇到這個問題的最先想到的一種。解決方法來自我加的unix like群裡的乙個叫石仔的管理員!
vim + result
dd這個沒測試,感覺效率和head法差不多,載入太慢!
4.重量級要到場了,感謝cu版主的這個指令碼,只能用四個字形容!五體投地!
:|dd of=input.file seek=1 bs=$(($(find input.file -printf "%s")-$(tail -1 input.file|wc -c)))
或者是:|dd of=input.file seek=1 bs=$(($(stat -c%s input.file)-$(tail -1 input.file|wc -c)))
測試了一下!
real 0m0.123s
user 0m0.004s
sys 0m0.012s
5.感覺這個用c寫效率最高,但顯然,**也是最長的,我實現了**,
測試了一下,
real 0m0.002s
user 0m0.000s
sys 0m0.000s
**如下:
#
include
#include
#include
#include
#include
#define guess_line_size 80
int get_line_size(
char
*ptr)
;int
main(
int argc,
char
*argv)
intget_line_size(
char
*ptr)
return line_len;
}
java快速讀取文字檔案最後一行資料內容
public static void main string args throws exception public static string readlastline file file,string charset throws ioexception randomaccessfile ra...
python 獲取 txt文字檔案的每一行
如題,獲取.txt文字檔案的每一行,這在對txt檔案進行操作的基本方式,其餘操作都基於此操作之後,記錄收藏 author lingjun e mail 1763469890 qq.com import xlwt 寫入檔案 import xlrd 開啟excel檔案 fopen open d spyd...
c 移除文字檔案裡的某一行
參考自 定義乙個變數用來存讀到的東西 string text 用乙個讀出流去讀裡面的資料 using streamreader reader new streamreader c db.txt encoding.getencoding gb2312 else 一行一行讀 line reader.re...