Bashで単語の前後のすべての文字列を削除する

Bashで単語の前後のすべての文字列を削除する

pingネットワーク接続を確認するために使用します。

私が望むのは、受信したパケットの数だけです。

たとえば、ping -c10 -q 8.8.8.8 | grep received出力が次のような場合:

10 packets transmitted, 5 received, 50% packet loss, time 9016ms

私は出力から数字5を見たいだけですが、その前後の何も見たくありません。

したがって、予想される出力は次のようになります。5

ベストアンサー1

grepwithオプションを使用してこれを実行できます-P

grep -Po '\d+(?= received)'

以下も使用できますawk

awk '$5 == "received,"{print $4}'

おすすめ記事