これらのコマンドはすべて、スペースで区切られたファイルの最後の列を印刷します。
awk '{print $NF}' file
でawk
、NF
フィールドの数で、$NF
最後のフィールドです。
perl -lane 'print $F[$#F]' file
-a
空白のファイルを配列に分割します。配列内の要素の数であり、最後の要素も@F
同様$#F
です$F[$#F]
。この-n
手段は、コマンドラインで指定されたファイルを読み取り、渡されたスクリプト-e
を各ラインに適用します。各ステートメントに-l
改行文字(\n
)を追加するだけprint
です。
sed 's/.* //g'
すべてを最後のスペースに一致させて削除し、最後の列のみを残す単純な正規表現。
rev file | cut -d' ' -f 1 | rev
rev
出力を逆にして、最後のフィールドが最初になるようにcut
し、区切りスペースを使用してそれを印刷しrev
、テキストを通常に戻します。連続した空白がある場合、これは機能しません。
入力に基づいて、実際には最後の列ではなく、最後から2番目の列または2つの列が必要だと推測しています。その場合、これらを使用して最後の2(8.39 Mbits/sec
)を印刷します。
awk '{print $(NF-1),$NF}' file
perl -lane 'print "$F[$#F-1] $F[$#F]"' file
sed 's/.* \(.* .*\)/\1/' file
rev file | cut -d' ' -f 1,2 | rev
そして、これらは最後から2番目を印刷します(8.39
):
awk '{print $(NF-1)}' file
perl -lane 'print $F[$#F-1]' file
sed 's/.* \(.*\) .*/\1/' file
rev file | cut -d' ' -f 2 | rev
Mbits/sec
、あなたが望むものですか、それとも最後の2列ですか?