Head
為什麼讀取文件的前幾行需要這麼長時間?
我有一個巨大的文本文件 ~ 33Gb,由於它的大小,我只想閱讀文件的前幾行以了解文件的組織方式。我已經嘗試過
head
,但它甚至需要很長時間才能完成執行。是不是因為在 UNIX 中,head
需要先執行整個文件才能執行任何操作?如果是這樣,是否有更快的方法來顯示此類文件的一部分?
這並不能真正回答您的問題;我懷疑原因
head
很慢,正如Julie Pelletier的回答中所給出的那樣:該文件不包含任何(或許多)換行符,因此head
需要閱讀大量內容才能找到要顯示的行。head
當然不需要在做任何事情之前讀取整個文件,並且一旦它具有請求的行數就會停止讀取。為了避免與換行相關的減速,或者如果您不關心查看特定數量的行,查看文件開頭的快速方法是使用
dd
; 例如,查看前 100 個字節hugefile
:dd if=hugefile bs=100 count=1
另一個選項,在為什麼 GNU 頭/尾讀取整個文件?, 是使用以下
-c
選項head
:head -c 100 hugefile