tshark [重複]出力から重複を削除する方法

tshark [重複]出力から重複を削除する方法
sudo tshark -i ppp0 'tcp port 80   \
and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'   \
-R'http.request.method == "GET" && http.request.uri contains "/ABC/XYZ"' \
-T fields -e http.host -e http.request.uri

上記のtsharkラインを使用して/ ABC / XYZに基づいて出力をフィルタリングしています。重複行の例が見つかった場所などの動的ランダムデータを出力します。

1bcdJOSHhijklmnopqrstuvwxyz
1bcdefghijklmnopqrstuvwxyz
1bcdefghijklmnopqrstuvwxyz
3bcdefghijklmnopqrstuvwxyz
2bcdefghijklmnopqrstuvwxyz
1bcdJOSHhijklmnopqrstuvwxyz
3bcdefghijklmnopqrstuvwxyz

ファイルを生成せずに一種のバッファまたはパイプを使用して重複エントリを削除する方法はありますか?

それともtshark自体ができますか?

編集:理由はわかりませんが、stdbuf -o Lmihhが提案したようにtsharkプレフィックスを付けて欲しいものを得ました。

ベストアンサー1

tsharkに停止条件がある場合は、単に出力を|sort -u

awk '{if(!seen[$0]++)print}'

tsharkに標準出力をバッファリングしないように指示する必要があるかもしれませんstdbuf -o L。 tsharkの前に。

おすすめ記事