rjc 0.2.1

rjc converts the output of many commands, file-types, and strings to JSON, YAML, or TOML
Documentation
# rjc

```bash
dir | rjc dir
```

```json
{"meta":{"drive":"F","serial":"38EC-3395","directory":"F:\\Dev\\rjc","files":3,"directories":4},"resources":[{"date":"01/15/2023","time":"04:14 PM","is_dir":true,"size":null,"name":"."},{"date":"01/15/2023","time":"04:14 PM","is_dir":true,"size":null,"name":".."},{"date":"01/14/2023","time":"04:25 PM","is_dir":false,"size":8,"name":".gitignore"},{"date":"01/15/2023","time":"10:38 PM","is_dir":false,"size":11117,"name":"Cargo.lock"},{"date":"01/20/2023","time":"12:53 AM","is_dir":false,"size":437,"name":"Cargo.toml"},{"date":"01/21/2023","time":"02:18 PM","is_dir":true,"size":null,"name":"src"},{"date":"01/20/2023","time":"12:53 AM","is_dir":true,"size":null,"name":"target"}]}
```

## Installation

### Cargo Install (MacOS, Linux, Windows)

<p>
    <a href="https://crates.io/crates/rjc">
        <img src="https://img.shields.io/crates/v/rjc.svg" />
    </a>
    <a href="https://docs.rs/rjc">
        <img src="https://img.shields.io/badge/docs.rs-rjc-green" />
    </a>
</p>

```bash
cargo install rjc
```

### Binaries

For precompiled binaries, check the [releases](https://github.com/clearfeld/rjc/releases) in this repo.

## Library

`rjc` can also be used as a library.

```rust
use rjc::win32::dir::{DirData, parse};
use std::process::Command;

fn main() {
    let output = Command::new("cmd").args(["/C", "dir"]).output().expect("Failed to execute process.");

    let dir_data: DirData = parse(Some(String::from_utf8_lossy(&output.stdout).to_string()));

    println!("{}", dir_data.meta.drive);
}
```

## Parsers

### Win32

| Commands  | Documentation                                            |
| --------- | -------------------------------------------------------- |
| assoc     | [details](https://rjc.vercel.app/parsers/win32/assoc)    |
| dir       | [details](https://rjc.vercel.app/parsers/win32/dir)      |
| netstat   | [details](https://rjc.vercel.app/parsers/win32/netstat)  |
| tasklist  | [details](https://rjc.vercel.app/parsers/win32/tasklist) |

### Unix

| Commands  | Documentation                                         |
| --------- | ----------------------------------------------------- |
| cksum     | [details](https://rjc.vercel.app/parsers/unix/cksum)  |
| du        | [details](https://rjc.vercel.app/parsers/unix/du)     |
| env       | [details](https://rjc.vercel.app/parsers/unix/env)    |
| file      | [details](https://rjc.vercel.app/parsers/unix/file)   |
| ls        | [details](https://rjc.vercel.app/parsers/unix/ls)     |
| shadow    | [details](https://rjc.vercel.app/parsers/unix/shadow) |
| wc        | [details](https://rjc.vercel.app/parsers/unix/wc)     |

### Darwin

| Commands    | Documentation                                            |
| ----------- | -------------------------------------------------------- |
| airport     | [details](https://rjc.vercel.app/parsers/darwin/airport) |

### External

| Commands                                     | Documentation                                        |
| -------------------------------------------- | ---------------------------------------------------- |
| [lsd](https://github.com/Peltoche/lsd)       | [details](https://rjc.vercel.app/parsers/common/lsd) |

### Formats

| Commands          | Documentation                                            |
| ----------------- | -------------------------------------------------------- |
| email-address     | [details](https://rjc.vercel.app/parsers/formats/email)  |