アスタリスクログからリアルタイムで電話番号を抜き取ろうとしています。私はテールを使用しています。問題は、grepがラインバッファリングを使用し、テールが終了していないため、テールがフラッシュされるまで待機していることを理解していることですが、システムを通過するときに番号が必要です。これが私のコードです
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 桁の電話番号を取得することです