簡體   English   中英

tail -f,awk並輸出到文件>

[英]tail -f, awk and output to file >

我正在嘗試過濾日志文件並遇到問題,到目前為止,以下內容是行不通的,

tail -f /var/log/squid/accesscustom.log | awk '/username/;/user-name/ {print $1; fflush("")}' | awk '!x[$0]++' > /var/log/squid/accesscustom-filtered.log

目標是獲取包含以下內容的文件

ipaddress1 username
ipaddress7
ipaddress2 user-name
ipaddress1 username
ipaddress5
ipaddress3 username
ipaddress4 user-name

並保存到accesscustom-filtered.log

ipaddress1
ipaddress2
ipaddress3
ipaddress4

它沒有accesscustom-filtered.log的輸出就可以工作,但是>中的某些內容無法正常工作,並且文件最終為空。

編輯:更改原始示例是正確的

使用tee

tail -f /var/log/squid/accesscustom.log | awk '/username/;/user-name/ {print $1}' | tee /var/log/squid/accesscustom-filtered.log

另請參閱: 將“ tail -f”輸出寫入另一個文件關閉管道中的緩沖

注意:在超級用戶示例中, awk不會像grep那樣進行緩沖,因此您不需要使用awk命令做任何特殊的事情。 更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM