
なぜ OSX では cut を 2 回使用できないのに、Linux では可能なのでしょうか?
例えば
sobakapavlova@bark:final_paper$ping -s 252 -z 0xb8 -c 1000 google.com |cut -d "=" -f4
PING google.com (74.125.232.230): 252 data bytes
50.826 ms
34.031 ms
30.043 ms
39.310 ms
しかし
sobakapavlova@bark:final_paper$ping -s 252 -z 0xb8 -c 1000 google.com |cut -d "=" -f4 | cut -d " " -f1
何も返ってきません。
答え1
これはバッファリングの問題です (macOS に固有のものではありません)。十分な時間 (バッファがフラッシュされるか、ping
1000 回の反復で自動的に終了するまで) 待つと、出力が得られます。
あるいは、awk
次のように使用します。
$ ping ... | awk -F '[ =]' '{ print $10 }'