top_n_tail 0.1.1

A CLI Utility to extract text from files or stdin
# Top 'n' Tail :carrot:
[![Crates Badge]][Crates] [![Docs Badge]][Docs] [![License Badge]][License]

A CLI Utility to extract text from files or `stdin`

# Usage

Reading from `stdin`
```shell 
$ tnt 5 15 < seq 1 20
$ seq 1 20 | tnt 5 15
```

Reading from file
```shell
$ seq 1 20 > my_seq.txt && tnt 5 15 -f my_seq.txt
```

# Performance

Generating test data using `seq` I made 9,999,999 lines to test with.
I emulated the behaviour using `tail` and `head` and then ran it against `tnt`.

```shell
$ seq 9999999 | time tail -9999998 | head -9999997 > /dev/null
tail -9999998  9.62s user 8.38s system 93% cpu 19.188 total
head -9999997 > /dev/null  3.12s user 5.18s system 48% cpu 17.220 total
```

_The total time to extract took about 19 seconds_


```shell
$ seq 9999999 | time tnt 1 9999997 > /dev/null
tnt 1 9999997 > /dev/null  0.36s user 0.21s system 17% cpu 3.286 total
```

_The same output took about 3 seconds with `tnt`_

[Crates]: https://crates.io/crates/top_n_tail
[Crates Badge]: https://img.shields.io/crates/v/top_n_tail

[Docs]: https://docs.rs/top_n_tail
[Docs Badge]: https://docs.rs/top_n_tail/badge.svg

[License]: https://spdx.org/licenses/MIT.html
[License Badge]: https://img.shields.io/badge/License-MIT-blue.svg