認識您的文本實用程序 Jacek Artymiak 自由顧問、 開發 人員和作家 2002 年 10 月 09 日 Jacek 在本" name="description" />

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 技巧: 使用 head 和 tail 以塊方式讀取文本流

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    Tail 在查看log的時候,調試和檢查故障的時候比較有用 java script:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)"> 認識您的文本實用程序 Jacek Artymiak 自由顧問、 開發 人員和作家 2002 年 10 月 09 日 Jacek 在本
    Tail 在查看log的時候,調試和檢查故障的時候比較有用



    javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">




    認識您的文本實用程序

    Jacek Artymiak
    自由顧問、開發人員和作家
    2002 年 10 月 09 日

    Jacek 在本技巧文章中介紹了 head 和 tail 命令,它們對于以塊方式處理靜態和動態文件中的數據非常有用。

    假定您想只處理文件的一部分,譬如頭幾行或后幾行,那您該怎么做呢?請使用 head (它將頭 10 行發送至標準輸出)或 tail (它將后 10 行發送至標準輸出)。

    您可以通過使用 -n 選項改變這些命令發送至其標準輸出的行數(當然,輸出結果將隨 XF86Config 文件的內容而不同):

    清單 1. 將 XF86Config 中選定行數的內容發送至標準輸出
    clearcase/" target="_blank" >cccccc">

    $ head -n 4 /etc/X11/XF86Config

    # File generated by anaconda.

    # **********************************************************************

    # Refer to the XF86Config(4/5) man page for details about the format of

    # this file.


    $ tail -n 4 /etc/X11/XF86Config
    Modes "1600x1200"

    ViewPort 0 0

    EndSubsection

    EndSection

    如果您想讓 headtail 以字節而不是以行為單位,那該怎么辦呢?您可以用 -c 選項代替 -n 選項。因此,要顯示前 200 個字符,請使用 head -c 200 file ,或者使用 tail -c 200 file 來顯示后 200 個字符。如果數字后面跟有 b (表示塊(block)),那么這個數字將被乘以 512。類似地,跟有 k (表示千字節(kilobyte))表示用 1024 去乘給定的數字,而跟有 m (表示兆字節(megabyte))表示用 1048576 字節去乘給定的數字。

    請記住, head file1 file2 file3catfile1 file2 file3 | head 之間有重大差別。前者將打印每個文件指定行數的內容,不同文件的內容之間用頭信息隔開,頭信息以 ==> 后跟文件名開頭。后者將打印由 cat 命令后所列文件組成的輸入流中指定行數的內容,但將把輸入流作為單個文件對待??梢允褂? -q (表示靜默(quiet))選項關閉文件名頭信息。與 -q 相反的是 -v (表示詳列(verbose))。

    假如您要處理的文件在處理期間一直在發生變化(比如,當您讓 headtail 讀取來自正在被另一個命令寫入的文件的數據時,就是這種情況),請使用 -f 選項讓 tail 持續讀取來自指定文件的數據并將這些數據發送至 tail 自己的標準輸出中。通過管道發送數據時該選項會被忽略。因此, cat file | tail -f 將不會得到所期望的結果,但 tail -f file 則可以。

    (如果 tail 正在讀取的文件不止一個,那么各行內容之間將用標準頭信息隔開,以指明它們來自哪個文件,標準頭信息以 ==> 開頭。)

    這個選項用于監視系統日志再合適不過,譬如,在單獨的終端窗口(或單獨的控制臺)中執行的 tail -f /var/log/access.log 將持續打印每次點擊后新添加的 Apache 訪問日志條目,一直到您用 Ctrl-C 停止它為止。

    通過組合使用 headtail ,可以從文件的中間部分讀取給定長度的一塊數據!下面說明如何做到:假定您想從文件開頭算起第 1000 字節處開始讀取一塊 789 字節的數據??梢允褂? cat file | head -c 1788 | tail -c 789 來解決這一問題。

    tac 命令逆序排序文件
    如果您想對文件中的各行進行逆序排序,該怎么做呢?這就要用到 tac 命令。(請注意, taccat 逆序拼寫而成。)該命令對所列出的文件中的各行或各段進行逆序排序。

    該命令不能逆序排序各文件的順序 — 這個任務您得自己做,以逆向順序在 tac 命令后列出各文件即可。作為說明 tac 的工作原理的示例,請在您的主目錄中對一些文件使用 ls -l | taills -l | tail | tac ,比較其結果。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>