一般化する

一般化する

質問:

時には、コマンドライン環境で簡単な算術演算を実行する必要があります。 EGは次の出力を提供します。

Disk /dev/sdb: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name  Flags
 1      1049kB  106MB   105MB   fat32                 hidden, diag
 2      106MB   64.1GB  64.0GB  ext4
 3      64.1GB  192GB   128GB   ext4
 5      236GB   256GB   20.0GB  linux-swap(v1)

簡単な計算方法はありますか?コマンドラインからパーティション 3 と 5 の間の未割り当てスペースのサイズはどのくらいですか?

私が試したこと:

紀元前

bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
236-192
44
quit

どこ勇敢な236-192上記は簡単なbc 1+1エコーのために入力する必要があるすべてです。File 1+1 is unavailable.

表現

expr 236 - 192

どこに入るの?スペースbeforeとafter演算子もexpr 1+1同様にエコーです1+1

ベストアンサー1

以下を使用すると、関連する詳細を減らすことができますbc

$ bc <<<"236-192"
44
$ bc <<<"1+1"
2

(シェルがこれをサポートすると仮定)。

関数として使用するには:

$ c() { printf "%s\n" "$@" | bc -l; }
$ c 1+1 22/7
2
3.14285714285714285714

-l標準数学ライブラリを有効にし、基本倍率を20に増やします。)

c定義を常に使用できるようにするには、お気に入りのシェル起動ファイルに定義を保存します。

おすすめ記事