tcpdumpの出力をgrepして一部を切り取りたいのですが、以下のコマンドは機能しません。
tcpdump ... | grep -i --line-buffered "..." | cut -d'&' -f1,2
何が問題なのか知っていますか? tcpdumpがリアルタイムデータを生成するためだと思いますが、この問題を解決する方法がわかりません。
ベストアンサー1
tcpdumpでこのオプションを使用してください-l
。
-l は標準出力がラインバッファリングされるようにします。これは、キャプチャされたデータを表示したい場合に便利です。たとえば、
tcpdump -l | tee dat'' or
tcpdump -l> dat&tail -f dat ''です。
マンページに明確に記載されています。
tcpdump -l ... | grep -i "..." | cut -d'&' -f1,2