Command-Line
對於給定的目錄,如何將最近修改的文件的尾部連接到新文件?
如果有更好的解決方案,我的目標是能夠快速分析 /usr/local/apache/domlogs 中所有最近的 apache 活動。這樣做的用處是,當伺服器負載超出預期時,我想快速查看哪些網站(以及哪些 URL)正在受到攻擊,而不必單獨 grep/awk domlogs 中的所有內容。
例如,我知道我可以在 domlogs 目錄中使用以下命令獲取最近活動的 apache 訪問 domlogs 的列表:
find -regex '.*\.\(com\|org\|net\|biz\|info\)' -mmin -1
現在我想做的是將每個文件的尾部 1000 行連接到一個新文件中,這樣我就可以快速分析它並查看所有流量的來源。
您可以使用
-exec
選項:find -regex '.*.(com\|org\|net\|biz\|info)' -mmin -1 \ -exec tail -n 1000 "{}" >> logs.txt +
現在 domlogs 中每個文件的所有最後 1000 行都寫入 file
logs.txt
,以文件名分隔。
-exec command {} +
告訴find
使用找到的文件執行命令,命令行是通過在末尾附加每個文件名來建構的。此選項適用於find
管道到xargs
.看更多: