特定の列をgrepして乗算する

特定の列をgrepして乗算する

ファイルには特定の構造があります。

------------------------------
|  1   123.456    789.1011 T |
|  2   789.123    234.1234 T |
------------------------------
 All true

私はできます。

grep -s -B 3 "All true" file.out | head -n 2

関連行のみを取得する

|  1   123.456    789.1011 T |
|  2   789.123    234.1234 T |

それでは、変数の最初の数字(123.456sum 789.123)を引き続き取得しながらいくつかの値を掛けるにはどうすればよいですか?x

ngrepラインなどの '番目のパラメータを取得する方法はありますか?

ベストアンサー1

短いgrep+アッ方法:

たとえば、乗数は次のようになります3

grep -sB 3 "All true" file.out | awk -v x=3 '$1=="|"{ print $3*x }'

出力:

370.368
2367.37

  • -v x=3- 乗数をx変数として渡します。アッスクリプト

おすすめ記事