2011-04-06 35 views
1

我想將Mac OS X中的當前網絡流量[b/s]存儲到文件中,每秒一次。Pipe netstat輸出多次

netstat -b -n 1 |awk '{print $3}' |tail -n +3 >traffic.txt 

應該確實想我要 - 但第二管道似乎緩衝,我儘快所需要的結果。

如果我只使用一個管道,一切都很好,但我最多需要這三個。

ulimit -p 0不起作用(未實施?)。有沒有其他方法可以避免緩衝?

回答

2

awk默認會緩衝其輸出。撥打電話fflush()來刷新它。

netstat -b -n 1 |awk '{print $3;fflush()}' |tail -n +3 >traffic.txt 
+0

就是這樣!非常感謝。 – 2011-04-06 22:53:36

1

管道緩衝區,他們會在數據發送時發送數據。我不知道如何加速他們。

另外,你的意思是>> traffic.txt在最後?您的解決方案將截斷,兩個尖括號附加。