Re: [問題] 如何顯示最後幾行行號?

看板Linux作者 (wake up ...)時間9年前 (2014/09/02 01:44), 9年前編輯推噓3(302)
留言5則, 4人參與, 最新討論串2/2 (看更多)
Update: 算行數時用parallel看起來比較有效. $ ls -lah H ... 7.7G ... H $ time cat H | parallel --pipe wc -l | awk '{s+=$1} END {print s}' 167559168 real 2m57.751s user 0m10.844s sys 0m24.636s $ time wc -l H 167559168 H real 3m1.436s user 0m6.176s sys 0m8.756s 樣本是重覆複製gutenberg的書本內容. 參考: http://www.rankfocus.com/use-cpu-cores-linux-commands/ ============================= 也許考慮先用sed算行數 再用sed取後面N行 測試樣本 $ ls -alh A ... 4.2G ... A $ time wc -l A 90761216 A real 1m26.886s user 0m4.000s sys 0m5.752s $ time sed -n '$=' A 90761216 real 0m11.648s user 0m10.676s sys 0m0.844s $ time sed -n 90760000,90761216p A real 0m10.379s user 0m9.468s sys 0m0.920s ※ 引述《j222 (熱~)》之銘言: : 想請問各位, : 在 shell 指令裡面我知道可以用 tail 來顯示檔案的最後幾行, : 也可以用 wc 來查詢檔案總共有幾行, : 可是要是今天我有一個檔案是有數百萬行, 而我又想知道這個檔案到底有幾行時, : 用 wc 查詢就要等很久才能知道結果, : 而用 tail 的話可以很快就顯示最後幾行的內容, 可是卻不知道行號 : 用 cat -n | tail 也一樣會等很久 : 請問有沒有甚麼方法可以很快的查詢一個大檔案的行數, 同時又可以顯示最後幾行 : 的內容呢? : 謝謝各位喔! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.110.23 ※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1409593448.A.B17.html

09/02 03:00, , 1F
感謝你!! 可以再請問你的範例中 '$=' 代表的意思是甚麼呢?
09/02 03:00, 1F

09/02 12:26, , 2F
sed比較快看起來是因為cache.
09/02 12:26, 2F
※ 編輯: n3oanderson (111.243.102.210), 09/02/2014 13:49:23

09/02 22:29, , 3F
= Print the current line num $ Match the last line
09/02 22:29, 3F

09/03 00:24, , 4F
真的快很多! 謝謝 n大 , 謝謝各位的意見喔!
09/03 00:24, 4F

09/03 11:59, , 5F
這篇寫了很多Linux指令,值得推薦 建議M起來
09/03 11:59, 5F
文章代碼(AID): #1K1B1eiN (Linux)
文章代碼(AID): #1K1B1eiN (Linux)