我正在尝试从星号日志中实时提取电话号码。我正在使用tail这样做,问题出在我的理解是grep使用行缓冲并且由于tail没有结束它等到tail刷新但我需要通过系统的数字。这是我的代码
tail -f /var/log/asterisk/messages | grep @default | awk -F ' ' '{ print $11 }' | awk -F '[^0-9]*' '{ print $2 }'
我还想确保它返回的模式也是一个 10 位数字,因为它返回较小的 1-6 位数字。
提前致谢
TrueY:很接近:这是一个示例,我试图过滤的数据
[Jul 17 12:11:00] VERBOSE[13992] logger.c: [Jul 17 12:11:00] -- Executing [h@default:1] DeadAGI("Local/91201xxx0249@default-abb1,2", "agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----0-----CANCEL----------") in new stack
我想要做的是在'@default'之前立即提取10位数的电话号码