# Slice Slice is a command-line tool written in Rust that allows you to slice the contents of a file using syntax similar to Python's slice notation. ![test_workflow](https://github.com/ChanTsune/slice/actions/workflows/test.yml/badge.svg) [![Crates.io][crates-badge]][crates-url] [crates-badge]: https://img.shields.io/crates/v/slice-command.svg [crates-url]: https://crates.io/crates/slice-command ## Installation ### Via Homebrew ```sh brew install chantsune/tap/slice ``` ### Via Nix ```sh nix-env --install -f https://github.com/chantsune/slice/tarball/main ``` ### Via Cargo ```sh cargo install slice-command ``` ### From Source (via Cargo) ```sh git clone https://github.com/ChanTsune/slice.git cd slice cargo install --path . ``` After building, add the binary to your PATH to use it globally. ## Usage To use `slice`, run the following command: ```sh slice [options] ``` `` is the name of the file you want to slice, and `` is the slice syntax you want to apply to the file. If `` is not specified, `slice` will read from standard input. The slice syntax is similar to Python's slice syntax, with the format `start:end:step`. Each value is optional and, if omitted, defaults to the beginning of the file, the end of the file, and a step of 1, respectively. ## Examples Here are some examples of how to use `slice`: ```sh slice 10:20 file.txt ``` This command slices the contents of `file.txt` from line 10 to line 20. ```sh slice :100:2 file.txt ``` This command slices the contents of `file.txt` from the beginning of the file to line 100, skipping every second line. ```sh slice 5:+10 file.txt ``` This command is the same as `slice` 5:15 file.txt`. For more details, run: ```sh slice --help ``` ## Docker ```sh docker build -t slice . docker run -v `pwd`:`pwd` -w `pwd` --rm -i slice ``` ## License Dual-licensed under [MIT](LICENSE-MIT) or [Apache-2.0](LICENSE-APACHE).