GNU/Linux >> Znalost Linux >  >> Linux

Jednoduchá kalkulačka příkazového řádku?

Problém:

Tu a tam musím udělat jednoduchou aritmetiku v prostředí příkazového řádku. NAPŘ. s následujícím výstupem:

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)

Jaký je jednoduchý způsob výpočtu na příkazovém řádku velikost nepřiděleného prostoru mezi oddíly 3 a 5?

Co jsem již vyzkoušel:

bc

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

kde tučné výše je vše, co potřebuji napsat, abych udělal jednoduchý 236-192 jako bc 1+1 echoes File 1+1 is unavailable.

výraz

expr 236 - 192

kde potřebuji zadat mezery před a za operátorem jako expr 1+1 jen ozvěny 1+1 .

Přijatá odpověď:

Pomocí bc můžete výrazně snížit míru upovídanosti :

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

(za předpokladu, že to váš shell podporuje).

Pokud byste to raději měli jako funkci:

$ c() { printf "%sn" "$*" | bc }
$ c 1+1
2

Uložte c definice ve vašem oblíbeném spouštěcím souboru shellu, pokud jej chcete mít vždy k dispozici.


Linux
  1. Poslouchejte rádio na linuxovém terminálu

  2. Jednoduché přesměrování webových stránek přes .htaccess

  3. Vypočítat! – Open-Source víceúčelová kalkulačka

  1. Jednoduchý test PHP Mail

  2. Jednoduchá obnova dat z pevného disku

  3. Jednoduchý příklad auditované konfigurace?

  1. 12 jednoduchých nástrojů na ochranu vašeho soukromí

  2. Historie příkazového řádku v Linuxu

  3. Operace Elliptic Curve z příkazového řádku