awkやsedなどのツールを使用してファイル出力から情報を抽出します。

awkやsedなどのツールを使用してファイル出力から情報を抽出します。

私はbashスクリプトに初めてアクセスし、現在のネットワークをインポートしてダウンロードするスクリプトを作成しようとしています。私は必要な情報を抽出するためにawkやsedなどのツールを見つけようとしています。

猫/proc/net/dev

Inter-|   Receive  |  Transmit face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo: 2245514   26732    0    0    0     0          0         0  2245514   26732    0    0    0     0       0
 0
 wlan0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0
 0
  eth0: 501233000800 372656590    0  354    0     0          0    478724 19824791855 194196655    0    0    0     0       0          0

これは私の出力です。 eth0でフィールドを受信して​​送信する必要があります。 grep -i eth0を使用して1行だけを修正しようとしましたが、その後は停止しました。

eth0: 501233200415 372657763    0  356    0     0          0    478834 19825031691 194197387    0    0    0     0       0          0

ここまで来ました。 「501233200415」と「478834」をどのように抽出しますか?

答え1

必要なフィールドが常に2番目と9番目のフィールドである場合(例のように)、次のものを使用できます。

grep -i eth0 your_file | awk '{print $2, $9}'

関連情報