2010-09-23 31 views
0

我有一個程序輸出的日誌文件的每次運行時都會更改一個文件名,以便我可以爲每個文件保留永久記錄運行會話。編程工具:知道如何查看目錄中最近更改的文件的「less」

是否有像「less」這樣的實用工具可用於顯示最近更改過的最後N行文件?

編輯:最大的價值對我來說,如果我有東西會自動從一個文件到下一個過渡,所以我不必手動停止「少」,然後重新啓動它。 (如果我這樣做了,我還可以自己輸入文件名)

回答

1

沒有人可以這樣做,但將幾個簡單命令鏈接在一起可以使我們在那裏。如果你想看到的只是最後幾行

# 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>' 
+0

有一點幫助,但我真的需要一些能夠查看最近修改過的文件,並從一個文件切換到另一個文件。 – 2010-09-23 16:26:46

+0

@Jason啊,好吧,呃。更新了答案。 – 2010-09-23 16:33:18

+0

好的,謝謝。我會盡力。這是Windows,所以我需要抓住GNU unxutils,但它看起來很簡單。 – 2010-09-23 16:36:01

相關問題