---
name: "numprocess"
section: "1"
platform: "linux"
package: "num-utils"
version: "0.5-15"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/numprocess"
---

# numprocess(1)

This program mutates numbers as it encounters them.

## NAME

numprocess - This program mutates numbers as it encounters them.

## SYNOPSIS

**numprocess** \[-dhV\] /\<expression\>/ \[FILE or STDIN\]

\| **numprocess** \[-dhV\] /\<expression\>/  (Input on STDIN from pipeline.)

**numprocess** \[-dhV\] /\<expression\>/    (Input on STDIN.  Use Ctrl-D to stop.)

## DESCRIPTION

**numprocess** will take as one argument, a list of operations to be performed on numbers that it encounters.  It will perform those operations on each number and return the result in place of the original number.

## USAGE EXAMPLES

```
  Add 1 to all numbers.
   $ numprocess /+1/ file1
  Convert all numbers from miles to kilometers.  Multiply by 8 and divide by 5.
   $ cat file1 | numprocess /*8,%5/
  Convert from celcius to fahreheit degrees.  Multiply by 9, divide by 5 and add 32.
   $ numprocess /*9,%5,+32/ temperatures
  Find the area of each circle from the given radius.
   $ numprocess /^2,*pi/ radii
```

## KEYWORDS AND OPERATORS

```
   For operators, the modifying number goes directly after the operator, with
   the exception of functions like sqrt, sin, cos, etc.
   +     Addition
   -     Subtraction
   *     Multiplication
   %     Division
   ^     Power function
   sqrt  Square Root  (*)
   sin   Sine function
   cos   Cosine function
   Constants and keywords that can be used
    pi    3.141592654
    e     2.718281828
  (*) When using the sqrt operation on negative numbers, it will take the
     absolute value of the number, sqrt it and then tack an i on the end
     of the result to signify that the resulting number is imaginary.
```

## OPTIONS

```
    -h  Help: You're looking at it.
    -V  Increase verbosity.
    -d  Debug mode.  For developers
```

## SEE ALSO

[**numaverage**(1)](/numaverage/1.md), [**numbound**(1)](/numbound/1.md), [**numinterval**(1)](/numinterval/1.md), [**numnormalize**(1)](/numnormalize/1.md), [**numgrep**(1)](/numgrep/1.md), [**numsum**(1)](/numsum/1.md), [**numrandom**(1)](/numrandom/1.md), [**numrange**(1)](/numrange/1.md), [**numround**(1)](/numround/1.md)

## BUGS

There is currently no way to take the number found in the text stream and use it as the numerator instead of the denominator of a division operation. Workaround: https://bugs.debian.org/553913

## COPYRIGHT

numprocess is part of the num-utils package, which is copyrighted by Suso Banderas and released under the GPL license.  Please read the COPYING and LICENSE files that came with the num-utils package

```
  Developers can read the GOALS file and contact me about providing
submitions or help for the project.
```

## MORE INFO

More info on numprocess can be found at:

- **http://suso.suso.org/xulu/Num-utils**
