有時候在處理較大檔案時,如果直接開啟速度會非常之慢,如果只是想察看檔案的最後的內容或最前面的內容,那就可以藉由 head 或 tail 來看頭看尾,不用把檔案直接打開。
在許多的作業系統中或網路設備中,log 檔案就像飛機的黑盒子般一樣重要。如果今天系統出了問題,或者網路有異常行為都是可以從 log 檔中找出一些蛛絲馬跡。就像程式設計師一樣,也會在自己所撰寫的程式中埋下許許多多的 log 以便有問題發生時,可以從這些 log 中找出一點希望來。
只不過,因為 log 是無時無刻都在記錄系統的運作、程式的執行或網路的運行,所以 log 當通常都會比較大。這時如果使用一般的編輯器或 cat 來察看,想必是要耗上許多時間將檔案打開。就算檔案打開了,也是寸步難行阿。因為稍微移動一下,硬碟就閃個不停。
因此這時候看頭看尾就變得很重要了。
head : 從檔案頭開始看
tail:從檔案尾巴開始看
如果我想看檔案 Day22TestData.txt 的前10行,我可以使用以下指令
head --line=10 Day22TestData.txt
如果我想看檔案的後13行,我可以使用以下指令
tail --line=13 Day22TestData.txt
那如果假設我的資料一共有30行,我想看21到25行該如何做呢?
如果不知道,那我換個方式說:「我想看最後十行的前五行」
有沒有很清楚了呢?
所以範例程式如下(假設我的檔案名稱為sampleData.txt):
tail --line=10 sampleData.txt | head --line=5
# 或者寫成這樣也可以 (--line=n 和 –n 相同,n代表行數)
tail -10 sampleData.txt | head -5
鐵人賽文章分享
上一篇 常用的指令介紹之sed其他功能
下一篇 ShellScript真實案例練習之前言