出力の2つの特定の内容を把握することは可能ですか?

出力の2つの特定の内容を把握することは可能ですか?

実行中の急流のリストを表示するためにTransmission-remoteを使用しています。

transmission-remote -l次の結果を使用する場合:

ID  Done    Have  ETA     Up    Down  Ratio Status Name

1   100%    10GB  Done    0.0   0.0   0.0   Idle   Torrent

Sum: 15.91 GB    0.0     0.0

急流の割合と名前がわかりますか?

現在私は以下を持っています: transmission-remote -l | grep -o -P '.{0,3}%'

が返されます100%

ベストアンサー1

grepでこれを行う方法はわかりませんが、簡単な解決策がありますawk

リストの最初の急流でのみ機能します。

transmission-remote -l | awk '{if (NR == 3) {print $2, $9}} '

すべてのシードについて(各シードの前に空白行がある場合はtrueでない場合はi += 2置き換えますi++):

transmission-remote -l | awk '{lines[NR]=$2 " " $9} END {for (i = 3; i < NR; i += 2) print lines[i]} '

2番目のケースでは、行を配列に入れ、入力を読み取るときにforループを使用して印刷します。

おすすめ記事