ratiscat

rat is a performance oriented re-implementation of cat in rust

See rat.rs

For a fully fledged coreutils rust stack see uutils:

https://github.com/uutils/coreutils/

Usage

rat vs. cat

``` $ rat

$ cat

$ echo test | ./rat - /does/not/exists /etc/hosts /does/not/exists2 | md5sum rat: /does/not/exists: No such file or directory rat: /does/not/exists2: No such file or directory 27f2e6689a97a42813e55d44ef29cda4 -

$ echo test | cat - /does/not/exists /etc/hosts /does/not/exists2 | md5sum cat: /does/not/exists: No such file or directory cat: /does/not/exists2: No such file or directory 27f2e6689a97a42813e55d44ef29cda4 -

```

Motivation

I just wanted to do this as a learning experience for rust.

At least, that's how it started.

Things learned in relation to rust:

Wrap the raw file descriptor in BufWriter<File> instead for more control

Even when that vector is immediately cleared on runtime the behavior between initially empty vs. initially Sized vector is noticeable

Known Bugs