gpt4 book ai didi

bash - tail -f, awk 并输出到文件>

转载 作者:行者123 更新时间:2023-11-29 09:48:49 27 4
gpt4 key购买 nike

我正在尝试过滤日志文件,但遇到了问题,目前我遇到的是以下内容,但它不起作用,

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

另请参阅:Writing “tail -f” output to another fileTurn off buffering in pipe

注意:awk 不像 super 用户示例中的 grep 那样进行缓冲,因此您不需要对 awk 做任何特殊的事情> 命令。 ( more info )

关于bash - tail -f, awk 并输出到文件>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14360531/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com