Bash
有沒有辦法在創建文件時對其進行分類?
與這個問題的答案不同(可以將 bash 腳本與文件掛鉤嗎? )我希望能夠在創建文件時或創建後查看尚未創建的文件的內容。我不知道它們何時會被創建或它們將被命名為什麼。該解決方案適用於特定文件,實際上在問題標題中提到為特定文件創建“掛鉤”。我的問題有所不同,因為我不想掛鉤任何東西,而且我想要的並不是特定於特定文件。我的問題標題指定“..as they are created”,這應該是我感興趣的文件尚不存在的線索。
我有一個使用者用來從網站送出資訊的應用程序。我的程式碼在使用者完成後創建輸出文件。我希望能夠在創建這些文件時看到它們的內容,類似於工作方式
tail -f
,但我不提前知道文件名是什麼。有沒有辦法在創建文件時對其進行分類,或者我是否必須以某種方式創建一個
find
與-newermt
標誌一起使用的無限循環到目前為止,我能想到的最好的東西是這樣的:
#!/bin/bash # news.sh while true do d=$(date +"%T Today") sleep 10 find . -newermt "$d" -exec head {} + done
為了澄清起見,我不一定需要跟踪文件。一旦它們被創建並關閉,它們將不會被重新打開。現有文件永遠不會改變並獲得新的修改時間,所以我對它們不感興趣。
如果在 Linux 上,這樣的事情應該可以滿足您的需求:
inotifywait -m -e close_write --format %w%f -r /watch/dir | while IFS= read -r file do cat < "$file" done