# ⌨️ Input
By default, input values are read as lines from standard input.
Each line is expected to be terminated either by `LF` or `CR+LF` characters.
The last line (before `EOF`) does not need to have a terminator.
- Use `-t, --read` option to read values terminated by a specific character.
- Use `-z, --read-nul` flag to read values terminated by `NUL` character.
- Use `-r, --read-raw` flag to read whole input into memory as a single value.
- Use `-l, --read-end` flag to read the last value (before `EOF`) only if it is properly terminated.
The following table shows how an input would be parsed for valid combinations of flags/options:
| `a\nb` | `a`, `b` | `a` | `a\nb` | *(none)* | `a\nb` | *(none)* |`a\nb` |
| `a\nb\n` | `a`, `b` | `a`, `b` | `a\nb\n` | *(none)* | `a\nb\n` | *(none)* |`a\nb\n` |
| `a\0b` | `a\0b` | *(none)* | `a`, `b` | `a` | `a\0b` | *(none)* |`a\0b` |
| `a\0b\0` | `a\0b\0` | *(none)* | `a`, `b` | `a`, `b` | `a\0b\0` | *(none)* |`a\0b\0` |
| `a:b` | `a:b` | *(none)* | `a:b` | *(none)* | `a`, `b` | `a` |`a:b` |
| `a:b:` | `a:b:` | *(none)* | `a:b:` | *(none)* | `a`, `b` | `a`, `b` |`a:b:` |
Input values can be also passed as additional arguments.
In such case, standard input will not be read.
```bash
rew '{}' image.jpg *.txt # Wildcard expansion is done by shell
```
Use flag `-I, --no-stdin` to enforce this behaviour even if there are no additional arguments.
```bash
echo a | rew -I '{}' # Will print nothing
echo a | rew -I '{}' b # Will print "b"
```