0
我有一個程序輸出的日誌文件的每次運行時都會更改一個文件名,以便我可以爲每個文件保留永久記錄運行會話。編程工具:知道如何查看目錄中最近更改的文件的「less」
是否有像「less」這樣的實用工具可用於顯示最近更改過的最後N行文件?
編輯:最大的價值對我來說,如果我有東西會自動從一個文件到下一個過渡,所以我不必手動停止「少」,然後重新啓動它。 (如果我這樣做了,我還可以自己輸入文件名)
我有一個程序輸出的日誌文件的每次運行時都會更改一個文件名,以便我可以爲每個文件保留永久記錄運行會話。編程工具:知道如何查看目錄中最近更改的文件的「less」
是否有像「less」這樣的實用工具可用於顯示最近更改過的最後N行文件?
編輯:最大的價值對我來說,如果我有東西會自動從一個文件到下一個過渡,所以我不必手動停止「少」,然後重新啓動它。 (如果我這樣做了,我還可以自己輸入文件名)
沒有人可以這樣做,但將幾個簡單命令鏈接在一起可以使我們在那裏。如果你想看到的只是最後幾行
# Sort by modified time, display the first file.
ls -t <dir> | head -1
您可以傳遞一個文件名,少以交互方式查看,或尾巴:這會給你最近修改的文件。 tail -n <N>
顯示文件的最後一行N行。這裏有兩個等價的方式來獲取文件名尾巴:
# Use xargs to pass file name as argument to tail.
ls -t <dir> | head -1 | xargs tail -n <N>
# Use $(...) to do the same as above.
tail -n <N> "$(ls -t <dir> | head -1)"
的最後一塊拼圖是讓這個連續監測目錄,並顯示任何最新的日誌文件。爲此,我們可以使用watch命令,它會定期重複您選擇的命令。
# Repeat the above tail command every 5 seconds.
watch -n 5 'ls -t <dir> | head -1 | xargs tail -n <N>'
有一點幫助,但我真的需要一些能夠查看最近修改過的文件,並從一個文件切換到另一個文件。 – 2010-09-23 16:26:46
@Jason啊,好吧,呃。更新了答案。 – 2010-09-23 16:33:18
好的,謝謝。我會盡力。這是Windows,所以我需要抓住GNU unxutils,但它看起來很簡單。 – 2010-09-23 16:36:01